使用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,如需轉載請自行聯系原作者