1
我想用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 (UserName exists in Localgroup) {
$LocalGroup.Remove("WinNT://$OldUserName")
}
如何檢查用戶的存在?
如果我使用包含即使它匹配部分它會拋出$ OldUserName是成員,不是嗎?我認爲循環通過$成員更好。的foreach(在$成員$成員){如果($成員-eq $ OldUserName) { 「$ OldUserName是成員」 } 其他 { 「$ OldUserName是不是會員」 } – Samselvaprabu 2012-07-31 12:55:31
這與使用並且效率較低。如果你想檢查部分匹配replace -contains with -like並使用通配符表達式。 – 2012-07-31 13:39:32