您好,登錄后才能下訂單哦!
本篇文章為大家展示了Windows PowerShell實踐案例有哪些,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
任務1:
下面的命令是否可以獲取特定域中所有計算機上已經安裝的Hotfix的清單?闡述原因
Get-HotFix -ComputerName (Get-ADComputer -Filter * | Select-Object -ExpandProperty name)
解答:
Get-Hotfix 的 -ComputerName 獲取管道類型是:String[],通過()傳遞過來的是類型也是String.所以該命令可以運行,并且結果正確。
-ComputerName <String[]>
指定遠程計算機。默認值為本地計算機。鍵入遠程計算機的 NetBIOS 名稱、Internet 協議 (IP) 地址或完全限定的域名。
此參數不依賴于 Windows PowerShell 遠程處理。即使你的計算機未配置為運行遠程命令,你也可以使用 Get-Hotfix 的 ComputerName 參數。
是否必需? False
位置? named
默認值 Local computer
是否接受管道輸入? true (ByPropertyName)
是否接受通配符? False(Get-ADComputer -Filter * | Select-Object -ExpandProperty name) | gm
TypeName:System.String
任務2:
下面的命令是否可以從相同的計算機上已經安裝的Hotfix的清單?闡述原因
Get-ADComputer -Filter * | Get-HotFix
解答:
Get-Hotfix 命令支持ByPropertyName 參數,并且Get-ADComputer -Filter *傳遞的參數也是string類型的。所以該命令可以執行。 具體信息查看以下內容:
help Get-Hotfix -full 查看以下信息
-ComputerName <String[]>
指定遠程計算機。默認值為本地計算機。鍵入遠程計算機的 NetBIOS 名稱、Internet 協議 (IP) 地址或完全限定的域名。
此參數不依賴于 Windows PowerShell 遠程處理。即使你的計算機未配置為運行遠程命令,你也可以使用 Get-Hotfix 的 ComputerName 參數。
是否必需? False
位置? named
默認值 Local computer
是否接受管道輸入? true (ByPropertyName)
是否接受通配符? False
Get-ADComputer -Filter * | gm 查看以下信息:
TypeName:Microsoft.ActiveDirectory.Management.ADComputer
Name MemberType Definition
---- ---------- ----------
Contains Method bool Contains(string propertyName)
Equals Method bool Equals(System.Object obj)
GetEnumerator Method System.Collections.IDictionaryEnumerator GetEnumerator()
GetHashCode Method int GetHashCode()
GetType Method type GetType()
ToString Method string ToString()
Item ParameterizedProperty Microsoft.ActiveDirectory.Management.ADPropertyValueCollection Item(string propertyName) {get;}
DistinguishedName Property System.String DistinguishedName {get;set;}
DNSHostName Property System.String DNSHostName {get;set;}
Enabled Property System.Boolean Enabled {get;set;}
Name Property System.String Name {get;}
ObjectClass Property System.String ObjectClass {get;set;}
任務3:
下面的命令是否可以獲取到域中計算機上已經安裝的HotFix清單?闡述原因。
Get-ADComputer -Filter * | Select-Object @{l='ComputerName';e={$_.Name}} | Get-HotFix
解答:
通過Get-ADComputer -Filter * | Select-Object @{l='ComputerName';e={$_.Name}}傳遞過來的是String類型,正好符合Get-FoxHit的name參數接收要求。所以能正確執行,具體信息如下:
Get-ADComputer -Filter * | Select-Object @{l='ComputerName';e={$_.Name}} | gm 查看以下信息;
TypeName:Selected.Microsoft.ActiveDirectory.Management.ADComputer
Name MemberType Definition
---- ---------- ----------
Equals Method bool Equals(System.Object obj)
GetHashCode Method int GetHashCode()
GetType Method type GetType()
ToString Method string ToString()
ComputerName NoteProperty System.String ComputerName=WIN-JFDKC82CU4F
任務4:
使用管道參數綁定來寫一個命令獲取域中每一臺計算機正在運行的進程的清單。不要使用括號。
解答:
Get-ADComputer -Filter * | Select-Object @{l='ComputerName';e={$_.name}} | Get-Process
解答思路:
因為Get-ADComputer -Filter * 只能傳遞一個name屬性的ComputerName(域內ad電腦名)的Sting類型,但是Get-Process只能接收ComputerName屬性的String類型管道傳遞,所以我們通過Select-Object @{l='ComputerName';e={$_.name}},把name轉換成Get-Process能接收ComputerName屬性的String類型管道傳遞值。
任務5:
可以使用括號而不要使用管道輸入方法來獲取域中每一臺計算機上已經安裝的服務清單。
解答:
Get-Service -ComputerName(Get-ADComputer -Filter * | Select-Object name -ExpandProperty name)
任務6:
確認命令是否可以正常運行,并闡述其原因。
Get-ADComputer -Filter * | Select-Object @{l='ComputerName';e={$_.name}} | Get-WmiObject -Class Win32_BIOS
解答:
不能正常執行,因為Get-WmiObject 命令不支持管道輸入。具體信息如下:
help Get-WmiObject -full可以查看到以下信息:
輸入
None
不能通過管道將輸入傳遞給 Get-WmiObject。
上述內容就是Windows PowerShell實踐案例有哪些,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。