簡體   English   中英

使用PowerShell確定用戶是否在Active Directory中

[英]Determine If Users Are In Active Directory With PowerShell

我正在嘗試確定C:\\ Users中的哪些用戶文件夾在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初學者提供一些建議? 我嘗試了在這里和其他地方找到的許多其他方法,但是都無法正常工作。 謝謝!

我想做類似的事情,感到震驚的是,似乎唯一的查看用戶是否存在於AD中的方法就是蠻橫地讓Get-ADUser拋出一個錯誤,然后您就可以捕獲它。 經過大量的研究,我發現,而不是使用-Identity如果使用參數-Filter參數,你居然回來,無論是用戶對象(或多個)匹配過濾參數,或$空對象(因為沒有相匹配的-Filter參數)。 一旦將其包含在變量中,就可以進行“適當的” if / else語句評估,而不會引發任何錯誤。

這是您的代碼:

$userProfile = Get-ChildItem #-Path "C:\Users"
$unknownList = @()
foreach($user in $userProfile){

    #Try getting the user
    $ADUser = Get-ADUser -Filter {SamAccountName -eq $User.Name}

    #Test to see if the user exists
    If($ADUser)
    {
        #User Exists
        #Write-host "$($User.Name) Exists"
    }
    Else
    {
        #User does not Exist
        #Write-host "$($User.Name) Does not Exist"

        Write-host "$($User.Name)"
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM