2
我們的應用程序將在本地用戶組中添加用戶列表。如何更新本地用戶組的用戶名?
用戶將與組關聯,如果更改了用戶名,我們可能需要將他們分組更新。
我試圖在PowerShell中使用[ADSI]來獲取列表,然後修改它。
[email protected]("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
}
}
但是直接傳遞groupname不被ADSI接受。如果與分配的組相關聯,如何更新用戶名?
,然後組會被自動更新(唯一的ID,稱爲SID這裏救了我們:-)。所以這是添加和刪除用戶的重要問題。 – 2012-09-23 22:17:14