PowershellでADユーザーの情報を更新

# 更新したいユーザー情報の属性と値の例
$UpdateProperties = @{
Description = “Updated by Script”
# その他の更新したい属性と値を追加
}

# ドメイン情報の定義
$Domains = @(
@{ Name = “domain1.example.com”; Credential = (Get-Credential -Message “Domain1の管理者資格情報を入力してください”) },
@{ Name = “domain2.example.com”; Credential = (Get-Credential -Message “Domain2の管理者資格情報を入力してください”) },
@{ Name = “domain3.example.com”; Credential = (Get-Credential -Message “Domain3の管理者資格情報を入力してください”) }
)

# 各ドメインに対して処理を実行
foreach ($Domain in $Domains) {
Write-Host “処理中のドメイン: $($Domain.Name)”

try {
# ドメインから全てのユーザー情報を取得
$Users = Get-ADUser -Server $Domain.Name -Credential $Domain.Credential -Filter * -Properties *

Write-Host “$($Users.Count) 件のユーザー情報を取得しました。”

# 取得した各ユーザーに対して更新処理を実行
foreach ($User in $Users) {
Write-Host “ユーザー ‘$($User.SamAccountName)’ を更新します。”

try {
# ユーザー情報の更新
Set-ADUser -Server $Domain.Name -Credential $Domain.Credential -Identity $User -Replace $UpdateProperties

Write-Host “ユーザー ‘$($User.SamAccountName)’ の更新が完了しました。”
}
catch {
Write-Error “ユーザー ‘$($User.SamAccountName)’ の更新中にエラーが発生しました: $($_.Exception.Message)”
}
}
}
catch {
Write-Error “ドメイン ‘$($Domain.Name)’ への接続またはユーザー情報の取得中にエラーが発生しました: $($_.Exception.Message)”
}
}

Write-Host “全てのドメインのユーザー情報の更新処理が完了しました。”

タイトルとURLをコピーしました