HOWTO · PowerShell

PowerShell でユーザーが存在するか確認する方法

このチュートリアルでは、PowerShell でユーザーが存在するかどうかを確認する方法を示します。

このページの内容

このチュートリアルでは、PowerShell でユーザーが存在するかどうかを確認する方法を示します。

PowerShell ユーザーが存在するか確認する

PowerShell は、ユーザーが存在するかどうかを確認するために使用されるアクティブディレクトリに基づくコマンドを提供します。このコマンドを使用するには、まず ActiveDirectory モジュールをインポートする必要があります。このコマンドの構文は以下の通りです。

Get-ADUser

次に、PowerShell を使用してユーザーが存在するかどうかを確認する手順は以下の通りです。

  • まず、ActiveDirectory モジュールをインポートする必要があります。次のコマンドを実行します:
    Import-Module ActiveDirectory
    
  • モジュールがインポートされたら、ユーザー名を変数に割り当てます。
  • 次に、try-catch ブロックで Get-ADUser を使用してユーザー変数を作成します。
  • 最後に、ユーザー変数が null か値を持っているかを判断するために、if-else 条件を使用して確認します。
  • 上記の 3つの手順に対して次のコマンドを実行します:
$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"
    }
}

多数のユーザーを確認する必要がある場合はどうでしょうか?Get-ADUser コマンドを使用して多くのユーザーを確認するために CSV ファイルを使用できます。

以下の手順に従ってください:

  • まず、結果の空のオブジェクトを作成します。
  • ユーザー名を含む 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