ADから一部のデータを取得しようとしていますが、混乱する結果が得られます。私は走っています:
Get-ADUser -Filter * -Properties * | select userPrincipalName, msTSLSProperty01
すべてのユーザーが表示されますが、そのうち6人はmsTSLSProperty01フィールドに何かを持っています。混乱するのは、そのフィールドに何かを持つ42人のユーザーを返す必要があることです。そのフィールドにデータがあるユーザーに対して空白が表示される理由は何ですか?
編集1:さらに、私が実行すると:
Get-ADUser username -Properties msTSLSProperty01 | select msTSLSProperty01
空のセットを返します。
環境内に複数のDCがある場合、予期した変更がそれらのユーザー属性に最近書き込まれたばかりの場合、レプリケーションの遅延が発生するだけです。 Powershellは、これらの属性の存在を確認するために使用している他のツールとは異なるDCをクエリしている可能性があります。PowerShellに特定のDCとともに -Server
引数Get-ADUser
コマンド。
または、権限の問題があり、一部のユーザーの属性を読み取れない場合があります。
@RyanBolgerの answer の補遺として、このPowerShellスクリプトは、各DCを照会します(または、ADWSサービスがインストールされていない場合はエラーを報告します)。これらのユーザーが欠落しているサーバーを特定する、または少なくとも欠落していないサーバーを確認する(つまり、可能な候補をADWSのないサーバー/ PSでクエリしたときにエラーになるサーバーに制限する)には十分かもしれません。
clear-Host
Get-AdDomainController -Filter * | %{
$count = 0
$myError = ''
try {
$count = (Get-AdUser -Filter * -server $_.Name).Count
} catch {
$myError = $_.ToString()
}
(New-Object -TypeName PSObject -Property @{
Name = $_.Name
Site = $_.Site
OS = $_.OperatingSystem
Count = $count
Error = $myError
})
} | select Name, Count, Site, OS, Error | sort Count, Error, Name | format-table -autosize