1
我試圖確定C:\ Users中的哪些用戶文件夾在Active Directory中有活動用戶。確定用戶是否在使用PowerShell的Active Directory中
目前,我有以下幾點:
$userProfile = Get-ChildItem -Path "C:\Users"
$unknownList = @()
foreach($user in $userProfile){
try{
Get-ADUser -Identity $user.Name | Out-Null
}
catch{
$unknownList += $user.Name
}
}
Write-Host $unknownList
我的問題是,所有的用戶名顯示爲不存在的,被抓到。任何人都可以爲PowerShell第一次定時器提供一些建議嗎?我在這裏和其他地方發現了一些其他的東西,但沒有人能夠工作。謝謝!
的文件夾中'C名稱:\ Users'不nesessarly匹配廣告的用戶的名稱。如果用戶配置文件已經存在,它可以是'username.DomainName。###'。 –
就我所知,您的代碼看起來是正確的。唯一可能的問題是您的'Catch {}'塊可能永遠無法到達,因爲Get-ADUser會創建非終止錯誤。要解決此問題,請在'Get-ADUser'上使用'-ErrorAction Stop'。這會將錯誤更改爲終止錯誤。 –
@TrevorSullivan他的問題是*所有*名稱都會拋出一個錯誤,因此最終會出現在'$ unknownList'中。 –