PowerShellでユーザーのOU移動とエラーリスト出力を行う方法

PowerShellを使用してActive Directory(AD)のユーザーのOU(組織単位)を移動する際に、存在しないユーザーに対してエラーリストを生成する手法を解説します。この記事は、AD管理の効率化に興味がある方、特にPowerShellの初心者に向けて書かれています。

目次

前提条件と必要なツール

  • PowerShellがインストールされていること
  • Active Directoryモジュールが利用可能であること

基本コマンドと概念の理解

Get-ADUser

このコマンドはADからユーザー情報を取得するために使用されます。

# ユーザーの基本情報を取得
Get-ADUser -Identity "username"

Move-ADObject

AD内のオブジェクト(この場合はユーザー)を移動するためのコマンドです。

# ユーザーを新しいOUに移動
Move-ADObject -Identity "CN=username,OU=oldOU,DC=domain,DC=com" -TargetPath "OU=newOU,DC=domain,DC=com"

スクリプトの作成

OUの移動

以下は基本的なスクリプトの例です。

# ユーザーリスト
$userList = @("user1", "user2", "user3")

# エラーリスト
$errorList = @()

foreach ($user in $userList) {
    # ユーザーが存在するかチェック
    $adUser = Get-ADUser -Filter {SamAccountName -eq $user}

    if ($adUser) {
        # OUを移動
        Move-ADObject -Identity $adUser.DistinguishedName -TargetPath "OU=newOU,DC=domain,DC=com"
    } else {
        # エラーリストに追加
        $errorList += $user
    }
}

# エラーリストを出力
$errorList | Out-File -FilePath "C:\path\to\errorList.txt"

エラーリスト出力

上記のスクリプトには、存在しないユーザー名がエラーリストに追加され、最終的にテキストファイルとして出力される機能があります。

補足と応用例

ログの生成

エラーリストだけでなく、移動が成功したユーザーに関するログも生成することが可能です。

大量のユーザー移動

CSVファイルからユーザーリストを読み込んで、大量のユーザーを一度に移動することも可能です。

まとめ

この記事では、PowerShellを使用してユーザーのOU移動とエラーリストの生成方法について解説しました。初心者でも理解しやすいように基本的なコマンドから応用例までを網羅しています。

コメント

コメントする

目次