HOWTO · PowerShell

如何在 PowerShell 中檢查用戶是否存在

此教程演示如何在 PowerShell 中檢查用戶是否存在。

本頁內容

這個教程展示了如何在 PowerShell 中檢查用戶是否存在。

PowerShell 檢查用戶是否存在

PowerShell 提供了一個基於活動目錄的命令,用於檢查用戶是否存在。使用此命令之前,我們需要先導入模塊 ActiveDirectory;此命令的語法如下。

Get-ADUser

現在按照以下步驟檢查 PowerShell 中用戶是否存在:

  • 首先,我們需要導入模塊 ActiveDirectory。運行以下命令:
    Import-Module ActiveDirectory
    
  • 模塊導入後,我們將用戶名分配給一個變量。
  • 然後,我們使用 try-catch 塊中的 Get-ADUser 創建一個用戶變量。
  • 最後,我們使用 if-else 條件檢查用戶變量,以確定它是否為空或具有某些值。
  • 運行以下命令以完成上述三個步驟:
$UserName = "Sheeraz"
$CheckUser = $(try { Get-ADUser $UserName } catch { $null })
If ($CheckUser -ne $Null) {
    "User exists in the Active Directory"
}
Else {
    "User not found in the Active Directory"
}

上述代碼將檢查活動目錄中的用戶並根據結果打印輸出。請參見輸出:

User not found in the Active Directory

我們還可以一次檢查多個用戶。按照以下步驟檢查多個用戶是否存在於活動目錄中:

  • 首先,創建一個包含所有用戶名稱的用戶對象。
  • 然後運行 foreach 循環以檢查每個用戶。
  • 使用 try-catch 塊檢查每個用戶是否與上述方法相似。
  • 使用 if-else 條件打印結果。根據這些步驟查看命令。
$CheckUsers = @("Sheeraz", "Jhon", "Mike")
foreach ($CheckUser in $CheckUsers) {
    $UserObject = $(try { Get-ADUser $CheckUser } catch { $Null })
    If ($UserObject -ne $Null) {
        Write-Host "The user $CheckUser already exists" -ForegroundColor "green"
    }
    else {
        Write-Host "The user $CheckUser does not exists " -ForegroundColor "red"
    }
}

如果我們有大量用戶需要檢查怎麼辦?我們可以使用 CSV 文件和 Get-ADUser 命令來檢查許多用戶。

按照以下步驟操作:

  • 首先,創建一個空的結果對象。
  • 導入包含用戶名的 CSV。
  • 然後運行 foreach 循環以檢查每個用戶。
  • 使用 try-catch 塊檢查每個用戶是否與上述方法相似。
  • 使用 if-else 條件顯示結果。根據這些步驟查看命令。
$UsersResult = @()
Import-Csv 'C:\Users\Admin\demo.csv' | ForEach-Object {
    $CheckUser = $_."UserName"
    $UserObject = $(try { Get-ADUser $CheckUser } catch { $Null })
    If ($UserObject -ne $Null) {
        $ExistUser = $true
    }
    else {
        $ExistUser = $false
    }
    $UsersResult += New-Object PSObject -Property @{
        UserName  = $CheckUser
        ExistUser = $ExistUser 
    }
}
$UsersResult | select UserName, ExistUser

我們的 CSV 文件包含 20 個不同用戶的姓名。上述代碼將檢查每個用戶,如果用戶存在,則打印 true,如果用戶不存在,則打印 false。

請參見輸出:

UserName ExistUser
-------- ---------
             False
             False
             False
             False
             False
             False
             False
             False
             False
             False
             False
             False
             False