0

列出当前域中的所有活动机器帐户

$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
}

foreach在此之后我正在做一个,$computers但我想要一个排除列表..最好像这样格式化

computer1
server4
computet4

但是,怎么做?

来自挪威的问候!

4

2 回答 2

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

$ComputerScan | where { $ExclusionList -notcontains $_ } | Write-Host
于 2012-04-26T12:12:17.547 回答
1

对计算机查询的一些改进:

  1. LastLogonTimeStamp 默认返回,不需要包含
  2. -inactive 默认为$false,无需指定。
  3. 不再使用 where-object,而是使用 ldap 过滤器来获取启用的计算机

    $computerScan = Get-QADComputer -LdapFilter '(!(userAccountControl:1.2.840.113556.1.4.803:=2))' -Sizelimit $sizelimit -WarningAction SilentlyContinue -OSName $computerFilter | Select-Object -ExpandProperty 名称

于 2012-04-26T13:43:54.573 回答