2012-04-26 60 views
0

列出所有活动machineaccounts当前域

$ComputerScan = @(Get-QADComputer -sizelimit $sizelimit -IncludedProperties LastLogonTimeStamp -WarningAction SilentlyContinue -Inactive:$false -OSName $computerFilter | where {$_.AccountIsDisabled -eq $false}) 

# Create list of computers 
ForEach ($Computer in $ComputerScan){ 

    $compObj = New-Object PsObject -Property @{ 
     Computer = $computer 
     Credentials = $credentials 
     Domain = $domain 
     } 
     $computers += $compObj 
} 

我这个后上做$computers一个foreach,但我想有一个exclusionlist .. 最好格式化如下排除的结果列表(从返回GET-QADComputer)

computer1 
server4 
computet4 

但是,怎么样?

来自挪威的问候!

回答

1

到电脑查询一些改进:

  1. 的lastLogonTimestamp默认情况下返回,没有必要将其列入
  2. -inactive缺省为$ false时,无需指定。
  3. Instaed使用Where对象,使用LDAP筛选器以获得功能的电脑

    $ computerScan = GET-QADComputer -LdapFilter '(!(userAccountControl:1.2.840.113556.1.4.803:=2))' -Sizelimit $的sizeLimit -WarningAction SilentlyContinue -OSName $ computerFilter的| Select-Object -ExpandProperty Name

+0

谢谢谢! – Sune 2012-05-09 10:46:48

1
$ComputerScan = @('blah', 'bluh', 'blih', 'bloh') 
$ExclusionList = @('blih', 'blah') 

$ComputerScan | where { $ExclusionList -notcontains $_ } | Write-Host 
+0

这不起作用,因为get-qadcomputer返回对象。谢谢你尝试! – Sune 2012-04-26 12:25:13

+0

你不能筛选其中一个属性吗? $ _。电脑什么的? – 2012-04-26 12:31:13