powershell スクリプトを使用して、ローカル グループのユーザーを置き換えようとしています。
Function ReplaceUserInGroup {
Param (
[string]$Group,
[string]$OldUserName,
[string]$NewUserName
)
[string]$computer=$env:ComputerName
If($Group -And $OldUserName -And $NewUserName ) {
$LocalGroup = [ADSI]"WinNT://$computer/$Group,group"
$LocalGroup.Add("WinNT://$computer/$NewUserName")
$LocalGroup.Remove("WinNT://$OldUserName")
}
Else {
Write-Warning " ReplaceUserInGroup : Some or all the parameters are empty"
}
}
このスクリプトの問題は、OldUserName がローカル グループに存在しない場合に失敗することです。
ローカルグループからユーザーを削除する前に、ユーザーがグループに存在するかどうかを確認したいと思います。
言い換えれば、以下のようなif条件でRemove関数行をラップしたいと思います。
If (UserName exists in Localgroup) {
$LocalGroup.Remove("WinNT://$OldUserName")
}
ユーザーの存在を確認するには?