2016-02-29 65 views
0

我想將下面的$ Groups變量的結果限制爲僅返回特定組的成員。該代碼檢索計算機所屬的組。我只對那些包含「SCCM」的任何AD組的成員感興趣。Powershell - 在管道中過濾變量結果

我試過第5行,但不起作用。什麼是正確的方法來做到這一點?謝謝。

$SamAccountNames = (Get-ADComputer Computer).SamAccountName 
    $OSInfo = Get-WmiObject -Class Win32_OperatingSystem -ComputerName Computer 
    $ServerGroupMemberShipList = Get-ADPrincipalGroupMembership $SAMAccountNames | Sort SAMAccountName 
    $Groups = $ServerGroupMemberShipList.Name 
    #$Groups = $ServerGroupMemberShipList.Name | Select {$ServerGroupMemberShipList.Name -like "SCCM"} 
    Write-Host " " 
    Write-Host "Checking Software Updates Compliance on" $Computer.ToUpper() -ForegroundColor Yellow -NoNewline 
    Write-Host $OSInfo.Caption 
    $Groups 

回答

1

而不是使用Select-Object小命令,嘗試使用Where-Object小命令用於過濾或?的簡稱。 $_變量是該cmdlet正在處理的當前對象。

$Groups = $ServerGroupMemberShipList | Where-Object { $_.Name -like "SCCM" } 

$Groups = $ServerGroupMemberShipList | ? { $_.Name -like "SCCM" } 
+0

我忘了說我沒有嘗試,但$組來到我們空。也許我錯了。 如果我跑線4事情是這樣的,它返回: 域控制器 SCCM-服務器修補-0530 正如你所看到的,我想集合限制爲具有「SCCM」這些廣告組名字。 – Habanagold