上個命令中的輸出,通過管道作為下個命令的輸入。linux中的管道傳遞的是text
,但ps中傳遞的是object
。但是命令究竟返回的是什麼型別呢?以下命令回答了這個問題:
get-service | get-member
這樣就獲取到get-service
的返回型別:
typename: system.serviceprocess.servicecontroller
於是,我們必須找到**從pipeline中獲取system.serviceprocess.servicecontroller
物件的命令:
get-command -parametertype system.serviceprocess.servicecontroller
結果中有stop-service
命令,檢視其幫助文件
get-help –name stop-service
看到第乙個引數是:[-inputobject]
,一般來說,引數叫做inputobject
,都可以從管道中接收輸入。通過以下命令檢視完整幫助:
get-help –name stop-service -full
於是可以試驗,獲取服務,並停止服務:
以上命令:通過名字獲取服務,返回的結果是
servicecontroller
型別的,通過管道傳給stop-service
作引數。
Powershell使用管道
管道並不是什麼新事物,以前的cmd控制台也有重定向的命令,例如dir more可以將結果分屏顯示。傳統的cmd管道是基於文字的,但是powershell是基於物件。ps ls sort object descending name select object name,length,lastwrit...
PowerShell 管道命令
1 ls sort descending name format table name,mode 通過ls獲取當前目錄的所有檔案資訊 通過sort descending對檔案資訊按照name降序排列 將排序好的name和mode格式化成table輸出 2 where object where 過濾列...
Powershell使用管道
管道並不是什麼新事物,以前的cmd控制台也有重定向的命令,例如dir more可以將結果分屏顯示。傳統的cmd管道是基於文字的,但是powershell是基於物件。ps ls sort object descending name select object name,length,lastwrit...