pscode に問題があります。
Import-Module ActiveDirectory
設定
$counter = 0
$allready_members = 0
$allready_members_file = "c:\temp\allready_members.txt"
$new_members = 0
$new_members_file = "c:\temp\new_members.txt"
$groupname = "EU-GPO-CTXPVS.MinimumIdleSessionTime.Users"
$fnc_accounts = @()
$allready_member_accounts = @()
始める
Write-Host "-----------------------------------------------------------------"
Write-Host "- querying ActiveDirectory for FNC-accounts..."
Write-Host "-----------------------------------------------------------------"
Clear-Content $new_members_file
Clear-Content $allready_members_file
$fnc_accounts = Get-ADUser -Properties MemberOf, DisplayName, samAccountName, PasswordExpired -Filter {(Enabled -eq "True") -and (PasswordNeverExpires -eq "True")} | ? { ($_.distinguishedname -like '*OU=FNC*') } | select Displayname, samAccountName, PasswordExpired
$allready_member_accounts = Get-ADGroupMember $groupname -Recursive | select samAccountName
主要
foreach($fncaccount in $fnc_accounts) {
if (($allready_member_accounts -notcontains $fncaccount.samAccountName)){
#Add-ADGroupMember -Identity $groupname -Members $fncaccount.sAMAccountName
Write-Host "+ User "$fncaccount.SamAccountName" added to "$groupname
#Add-Content -Path $new_members_file $fncaccount.samAccountName
$new_members++
} else {
Write-Host "- User "$fncaccount.SamAccountName" is already a member of "$groupname
#Add-Content -Path $allready_members_file $fncaccount.samAccountName
$allready_members++
}
$counter++
}
終わり
Write-Host "-----------------------------------------------------------------"
Write-host "- # FNC count : "$fnc_accounts.Count
Write-Host "- # allready count : "$allready_member_accounts.Count
Write-host "- # allready counter : "$allready_members
Write-host "- # new members counter: "$new_members
Write-host "- # items processed : "$counter
Write-Host "-----------------------------------------------------------------"
私の ps スクリプトは、配列内で一致するものを見つけられないようです。何か案は ?カウンターを使用して、foreach でのチェックが正しいかどうかを確認しました。