このアプリケーションは、ローカル ユーザー グループにユーザーのリストを追加します。
ユーザーはグループに関連付けられます。ユーザー名が変更された場合、グループで更新する必要がある場合があります。
最初にリストを取得してから変更するために、powershellで[ADSI]を使用しようとしていました。
$MyprojGroups=@("Myproj Engineers",
"Myproj Managers",
"MyprojDBUser",
"MyprojUser")
Foreach( $MyprojGroup in $MyprojGroups) {
Write-host "MyprojGroup : $MyprojGroup "
$usergroup=[ADSI]($MyprojGroup).psbase.Path
$usergroup
UpdateUserName -groupName $usergroup -OlduserName "Administrator" -NewuserName "Admin"
}
Function UpdateUserName {
Param (
[string]$OlduserName,
[string]$groupName,
[string]$NewuserName
)
# To check whether the user name is associated with the group
$MEm=$groupName.psbase.Invoke("Members") | foreach {$_.GetType().InvokeMember("Name", 'GetProperty', $null, $_, $null)}
If ($mem -eq "OlduserName") {
# Has to update the New User Name
}
}
ただし、グループ名を直接渡すことは、ADSI では受け入れられません。割り当てられたグループに関連付けられている場合、ユーザー名を更新する方法は?