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