首先获取需要修改的用户
如果要修改指定的几个用户:
$users = "c0001", "c0002", "c0003" | ForEach-Object -Process { Get-ADUser -Filter { samaccountname -eq $_ } -Properties logonworkstations }
或者修改所有用户
$users = Get-ADUser -Filter {logonworkstations -like "*"} -Properties logonworkstations
删除某一台计算机(删除PC8888)
foreach ($user in $users)
{
$userworkstations = [System.Collections.ArrayList]$user.logonworkstations.split(",")
$userworkstations.Remove("PC8888")
$pc = $userworkstations -join ","
Set-ADUser -Identity $user -LogonWorkstations $pc
}
替换某一台(PC9999替换为PC1111)
$users | ForEach-Object -Process {
Set-ADUser -Identity $_.samaccountname -LogonWorkstations $_.logonworkstations.replace("PC9999", "PC1111")
}
增加一台(增加PC9999)
$users | ForEach-Object -Process
{
Set-ADUser -Identity $_.samaccountname -LogonWorkstations ($_.logonworkstations + ",PC9999")
}
正文完