AD OU に対してクエリを実行し、アカウントとグループ メンバーシップに関するいくつかの属性を持つすべてのユーザーを一覧表示する必要があります。CSV 形式は次のようになります。
First Name Last Name SamAct Active New-UserGroup Old-UserGroup
BIll Gates bill.gates YES YES NO
Steve Jobs steve.jobs NO No YES
はい、いいえは「彼は活動していますか」と「彼はこのグループのメンバーですか」です。
彼がグループメンバーであるかどうかを正しく判断する方法がわからないことを除いて、次のコードはほぼ完了しています。
何かアドバイス??
function getADAccountStatus($adUserObj)
{
if($adUserObj.AccountIsDisabled)
{ return "NO";}
else { return "YES";}
}
function getNGStatus($adUserObj)
{
if($_.memberof -contains 'New_Usergroup')
{return "YES"; }
else {return "NO"; }
}
$ReportPath = "c:\scripts\report.csv"
$ou = 'OU=Group,DC=domain,DC=com'
$records = Get-QADUser -SearchRoot $ou | Select LastName,FirstName,SamAccountName,memberof
$records | foreach{
new-object psobject -Property @{
$LastName = $_.LastName
$FirstName = $_.FirstName
Account = $_.SamAccountName
Active = getADAccountStatus($_)
NG = getATCStatus($_)
}} | Select $LastName,$FirstName,Account,Active,NG | Export-Csv $ReportPath -Force -ErrorAction Stop -NoTypeInformation