如下代碼須要修改的地方有域名,ou對應的組織名稱ide
複製代碼到C盤根目錄 保存成XXX.ps1 執行code
#第一個總循環,用來作相似(goto標籤) for($i=1;$i -le 5;$i++){ #第一個定位if if($i -eq 1){ #清屏 cls #返回根目錄,而且打開C盤 cd \ c: #經過 if test-path 判斷是否存在文件,存在刪除,不存在跳過按順序執行下面的語句 if(test-path user.txt){del user.txt} if(test-path log.txt){del log.txt} if(test-path name.txt){del name.txt} #建立空文本文檔 new-item user.txt -type file >> null new-item name.txt -type file >> null new-item log.txt -type file >> null echo '-------------------------------------------------' echo '*******這是一個批量遷移用戶到指定OU的腳本********' echo '-------------------------------------------------' #腳本繼續,因此指定變量i 增長 $i = 2 } #第二個定位if if($i -eq 2){ echo '' echo '【1】請輸入你須要變動的用戶帳號,直到輸入數字"1"回車,跳轉到OU選擇。' echo '【2】若是你想批量導入已知帳戶,把名字複製到C:\name.txt,一行一個帳戶名字,而後輸入2回車' echo '' #作一個批量查詢用戶的變量循環 #變量j無心義,重複使用中,利用來作標籤訂位,continue是跳出當前循環。 for($j = 1;$j -le 4;$j++){ $name = read-host "變動的用戶名" #當查詢人員結束,輸入數字1回車跳轉到部門選擇 if($name -eq "1"){ $j=5 continue } #當已有本身的名單的時候,能夠把名單存放到c:\name.txt中,進行批量轉換 if($name -eq '2'){ $name_array =cat name.txt foreach($name_id in $name_array){ dsquery user -samid $name_id >> user.txt } $j = 5 echo "" continue } #判斷用戶名是否存在AD域控中。 if(dsquery user -samid $name){ $name_cn = dsquery user -samid $name $name_array =cat c:\user.txt $j=0 }else{ echo "域用戶名不存在,請從新輸入查詢" $j=0 echo "" continue } #判斷查詢的用戶是否重複存在文檔中。 if($name_array -contains $name_cn){ echo '已存在用戶' $j=0 echo "" continue }else{ dsquery user -samid $name >>user.txt $name_cn $j=0 echo "" continue } } $i =3 } #第三個定位if if($i -eq 3){ echo '' echo '------------------------------------------------------------' echo '************請輸入你要變動到的部門名稱**********************' echo '部門名字有空格,是須要使用雙引號""包起來,建議查詢都包起來' echo '若是不知道部門名稱,能夠輸入數字"2"回車,查詢組織下全部部門' echo '------------------------------------------------------------' echo '' #部門作了一個循環,用來選擇部門用的 #這裏ou=all 是頂級組織,按公司實際狀況而定。abcd是公司的域名 for($j=1;$j -le 4;$j++){ $bumen = read-host "變動的部門名稱" #查詢組織下全部部門 if($bumen -eq 2){ dsquery ou 'ou=ALL,dc=abcd,dc=com' -o rdn $j = 0 echo '' continue } #查看部門是否存在 if(dsquery ou -name $bumen){ $bumen_cn = dsquery ou -name $bumen $bumen_cn $j =5 }else{ echo '部門不存在,請從新輸入。' echo '' $j=0 } } $i =4 } #第四個定位if if($i -eq 4){ echo '' echo -------------------------------------------------------- echo '*********是否要把選擇的用戶,變動到此部門***************' echo '【1】確認人員變動到部門' echo '【2】部門選擇錯誤,從新選擇部門' echo '【3】新增人員' echo -------------------------------------------------------- echo '' $select = read-host "請輸入您的選擇" if($select -eq 1){ $name_cn = cat c:\user.txt foreach($j in $name_cn){ dsmove $j -newparent $bumen_cn >>log.txt } $i=6 continue } if($select -eq 2){ $i=2 continue } if($select -eq 3){ $i=1 continue } echo "" echo "請輸入正確的選擇:【1】【2】【3】" $i = 3 } }