天天看點

PoweShell執行系統管理

使用PowerShell做系統管理主要做以下三個方面的管理

管理檔案系統

管理事務日志

管理系統服務

建立檔案或檔案夾 New-Item

複制檔案或者檔案夾 Copy-Item

顯示檔案夾内容 Get-ChildItem

移動指定項Move-Item

删除指定項 Remove-Item

New-Item

-Path:要建立的檔案或檔案夾路徑,如果不加這個選項,則路徑為PowerShell指令行的目前路徑。

     通常的做法是用set-location切換路徑到指定目錄下

-Name:要建立的檔案或檔案夾名稱

-ItemType:指定項的類型,目錄為Directory,如果是檔案,則需要在檔案名後面加字尾如“檔案.txt”、“技術文檔.docx”等

檢視New-Item的詳細用法

<a href="http://s1.51cto.com/wyfs02/M02/89/83/wKiom1gV6A7BQvJMAAGaAjGHMak428.jpg" target="_blank"></a>

例如:在c:\路徑下建立一個名為test目錄

<a href="http://s2.51cto.com/wyfs02/M02/89/80/wKioL1gV5qmD8RO7AAAOA23EMQ8576.png" target="_blank"></a>

例如:先用set-location切換路徑,在建立目錄

<a href="http://s5.51cto.com/wyfs02/M02/89/81/wKioL1gV6iSi8ybsAAAQbv4qzOc516.png" target="_blank"></a>

例如:在目前路徑下建立一個名為“文檔”的word檔案

<a href="http://s5.51cto.com/wyfs02/M00/89/81/wKioL1gV65zxxbEmAAANIwnFNvc407.png" target="_blank"></a>

Get-ChildItem:

-Force:擷取隐藏檔案或系統檔案、

-Include:隻檢索指定項

-Name:隻檢索位置中的項的名稱

-Path:指定一個或多個位置的路徑

-Recurse:将指定檔案夾下的所有項目複制到目的路徑

例如:檢視C槽下所有檔案和檔案夾資訊

1

<code>文法:</code><code>Get-ChildItem</code> <code>-Path “file\to\path”</code>

檢視指定路徑下所有檔案和檔案夾,包括隐藏檔案

<code>文法:</code><code>Get-ChildItem</code> <code>-Path </code><code>"file\to\path"</code> <code>-Force</code>

<a href="http://s1.51cto.com/wyfs02/M00/89/83/wKiom1gV7puTzfh7AABD0CpTRm0197.png" target="_blank"></a>

在Mode列下,h表示該檔案為隐藏檔案,s表示該檔案為系統檔案

Get-ChildItem:查找檔案

-Include:根據條件查找檔案和檔案夾

<code>文法:</code><code>Get-ChildItem</code> <code>* -Include </code><code>"條件"</code>

<a href="http://s1.51cto.com/wyfs02/M02/89/83/wKiom1gV7-CAzi9AAAAKeaxvqYY955.png" target="_blank"></a>

-Name:隻檢索位置中項的名稱,

例如:隻檢索路徑

<a href="http://s1.51cto.com/wyfs02/M00/89/83/wKiom1gV8kDT1Y9lAAAFE0cfCAw863.png" target="_blank"></a>

遞歸查詢

-Recurse:

<a href="http://s2.51cto.com/wyfs02/M00/89/83/wKiom1gV88qg4OMIAAAU6Rxr0DQ493.png" target="_blank"></a>

Remove-Item:

-Exclude:忽略指定項

-Force:删除隐藏檔案或系統檔案

-Include:隻删除指定項

-Path:指定項的目前位置的路徑

-Recurse:删除指定位置及這些位置的所有子項中項

例如:删除隐藏的test目錄

<a href="http://s3.51cto.com/wyfs02/M02/89/83/wKiom1gV9b_xIReHAABDb4swoVM329.png" target="_blank"></a>

從上面的例子可以看到,隐藏的檔案是不能被删除的,除非加了-Force選項,強制删除

通過條件來删除

例如删除所有字尾為txt檔案

<a href="http://s1.51cto.com/wyfs02/M00/89/83/wKiom1gV9r6RbKA0AAAxU-t3Vzo072.png" target="_blank"></a>

上面這條指令可以用來清楚系統盤的垃圾檔案

例如:删除系統盤所有臨時檔案

<code>Remove-Item *.tmp -Recurse</code>

管理事件日志

檢視實踐日志:Get-EventLog

删除事件日志Clear-EventLog

Get-EventLog

-LogName:檢視指定類型的事件日志,詞參數是必須的

-Newest:指定檢索最新的多少條日志,後面加數字

-EntryType:隻擷取具有指定條目類型的事件,如檢視error或者warning日志

-List:擷取計算機上的事件日志清單

<a href="http://s4.51cto.com/wyfs02/M01/89/81/wKioL1gV-JLD_XFkAAAf3Z-BEI8509.png" target="_blank"></a>

從上圖可以看到系統所有類型的日志,包括Application日志、Security日志、Windows PoweShell日志等

-LogName:檢視指定類别的日志

例如:檢視系統日志

<code>Get-EventLog</code> <code>-LogName System</code>

篩選日志:

例如隻檢視最近的十條系統日志

<code>Get-EventLog</code> <code>-LogName System -Newest</code>

<a href="http://s5.51cto.com/wyfs02/M02/89/84/wKiom1gV-s_DLgrqAABGYankzEY188.png" target="_blank"></a>

上面的例子上可以用下面的方式實作

<code>Get-EventLog</code> <code>-LogName System | </code><code>Select-Object</code> <code>-First 10</code>

<a href="http://s5.51cto.com/wyfs02/M00/89/84/wKiom1gV-6WxfTHwAABE2Gj_u8A110.png" target="_blank"></a>

檢視最近十條系統的error日志

<a href="http://s1.51cto.com/wyfs02/M02/89/84/wKiom1gV_LPRCCK_AABIr9q1DMY500.png" target="_blank"></a>

根據時間Index來檢索

<a href="http://s3.51cto.com/wyfs02/M02/89/81/wKioL1gV_gTzWdFZAAAPokc9O28625.png" target="_blank"></a>

檢視報錯日志的詳細資訊

<a href="http://s3.51cto.com/wyfs02/M00/89/84/wKiom1gV_vOwHsEwAAAfbWdwfbs749.png" target="_blank"></a>

清除日志:

-ComputerName:指定遠端計算機

-LogName:指定事件日志

-LogName:清除指定類型的日志

例如:清除應用程式日志

<a href="http://s2.51cto.com/wyfs02/M00/89/81/wKioL1gV_-2xsf7FAAA1zXcph5s608.png" target="_blank"></a>

從上圖可以看到,清除後,日志數量為0

管理系統服務:

檢視所有服務Get-Service

設定服務的啟動狀态等屬性Set-Service

啟動一個或者多個已經停止的服務Start-Service

停止一個或者多個服務Stop-Service

檢視本地所有服務,注意:如果是檢視本機的服務,可以不用加-ComputerName 127.0.0.1選項

<a href="http://s1.51cto.com/wyfs02/M02/89/84/wKiom1gWAwniq4nzAAA5Zw2Vjr4350.png" target="_blank"></a>

檢視本地所有啟動的服務(Status不能作為選項,是以使用通用的篩選方式來檢索)

<a href="http://s5.51cto.com/wyfs02/M01/89/84/wKiom1gWAr3wDkXYAABMulBaOp8201.png" target="_blank"></a>

根據DisplayName來檢索服務

<a href="http://s1.51cto.com/wyfs02/M01/89/82/wKioL1gWBcTAEk-jAAANr38--Rw149.png" target="_blank"></a>

檢視Tlntsvr服務的詳細資訊

<a href="http://s3.51cto.com/wyfs02/M02/89/84/wKiom1gWBlayqTqdAAAW-6hEdpw718.png" target="_blank"></a>

啟動TlntSvr服務

<a href="http://s2.51cto.com/wyfs02/M02/89/82/wKioL1gWBszQQ6tXAAB2in6l_P0137.png" target="_blank"></a>

Set-Service: 設定服務相關屬性

-StartupType:設定服務的啟動類型

自動:automatic

禁用:disabled

手動:manual

例如:在前面的例子中,修改telnet服務的啟動類型為自動其他,并啟動該服務

<a href="http://s3.51cto.com/wyfs02/M02/89/82/wKioL1gWCCzB54TFAAAb0jLxwu4419.png" target="_blank"></a>

本文轉自 曾哥最愛 51CTO部落格,原文連結:http://blog.51cto.com/zengestudy/1867468,如需轉載請自行聯系原作者