最近在綁定計算機AD賬戶和計算機名的時候,發現用戶賬戶過多,手動綁定手都抽筋了。所以找朋友要了個腳本,朋友只在2003上面執行過,不知道2008上面執行是否有問題,所以就測試了一把。完美執行;
腳本地址:http://gallery.technet.microsoft.com/scriptcenter/852fe273-03ed-449f-8591-57b655cba82e
1.複製一下代碼保存爲xx.ps1
#
# www.sivarajan.com
# blogs.sivarajan.com
# You can use this PowerShell script to update or modify the Log On To (userWorkstations) attribute in Active Directory.
# Version 1.1
# Author - Santhosh Sivarajan
#
Clear
Import-CSV input.csv| % {
$UserN = $_.UserName
$ComputerN = $_.ComputerName
$ObjFilter = "(&(objectCategory=person)(objectCategory=User)(samaccountname=$UserN))"
$objSearch = New-Object System.DirectoryServices.DirectorySearcher
$objSearch.PageSize = 15000
$objSearch.Filter = $ObjFilter
# www.sivarajan.com
# blogs.sivarajan.com
# You can use this PowerShell script to update or modify the Log On To (userWorkstations) attribute in Active Directory.
# Version 1.1
# Author - Santhosh Sivarajan
#
Clear
Import-CSV input.csv| % {
$UserN = $_.UserName
$ComputerN = $_.ComputerName
$ObjFilter = "(&(objectCategory=person)(objectCategory=User)(samaccountname=$UserN))"
$objSearch = New-Object System.DirectoryServices.DirectorySearcher
$objSearch.PageSize = 15000
$objSearch.Filter = $ObjFilter
$objSearch.SearchRoot = "LDAP://dc=域名,dc=域名後綴"
$AllObj = $objSearch.findOne()
$user = [ADSI] $AllObj.path
$ErrorActionPreference = "silentlycontinue"
If (($user.get("userWorkstations")) -ne $null)
{$ComputerN = $user.get("userWorkstations")+","+ $ComputerN}
Write-host -NoNewLine "Updating $UserN Properties ..."
$user.psbase.invokeSet("userWorkstations",$ComputerN)
Write-host "Done!"
$user.setinfo()
}
$AllObj = $objSearch.findOne()
$user = [ADSI] $AllObj.path
$ErrorActionPreference = "silentlycontinue"
If (($user.get("userWorkstations")) -ne $null)
{$ComputerN = $user.get("userWorkstations")+","+ $ComputerN}
Write-host -NoNewLine "Updating $UserN Properties ..."
$user.psbase.invokeSet("userWorkstations",$ComputerN)
Write-host "Done!"
$user.setinfo()
}
2.創建Input.csv名單
3.把上面的腳本和下面的Input.csv保存到C盤C:\Scripts
4.運行PowerShell(第一運行的時候默認禁用腳本,需要打開)
6.進入Scripts目錄執行腳本;
7.完美執行
8.我們查看綁定的情況,由於腳本執行了多次,所以會出現重複的計算機名;