如何在 PowerShell 中检查用户是否存在

如何在 PowerShell 中检查用户是否存在

本教程演示了如何在 PowerShell 中检查用户是否存在。

PowerShell 检查用户是否存在

PowerShell 提供了一条基于活动目录的命令,用于检查用户是否存在。要使用此命令,首先需要导入 ActiveDirectory 模块;该命令的语法如下所示。

Get-ADUser

现在请按照以下步骤使用 PowerShell 检查用户是否存在:

  • 首先,我们需要导入 ActiveDirectory 模块。运行以下命令:
    Import-Module ActiveDirectory
    
  • 导入模块后,我们将用户名赋值给一个变量。
  • 然后,我们在 try-catch 块中使用 Get-ADUser 创建用户变量。
  • 最后,我们使用 if-else 条件检查用户变量,以确定它是否为 null 或有某个值。
  • 运行以下命令以完成上述三个步骤:
$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
Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe
作者: Sheeraz Gul
Sheeraz Gul avatar Sheeraz Gul avatar

Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.

LinkedIn Facebook

相关文章 - PowerShell User