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 Name

于 2012-04-26T13:43:54.573 に答える