[英]Move list of users from one OU to a different OU and disable them at the same time - Powershell
[英]Powershell - Disable and move users to a new OU
全新會員在這里..
我正在嘗試創建一個Powershell腳本,該腳本可以使用當前日期(dd-MM-yyyy)創建一個新的OU,從文本文件中禁用用戶,然后將其移動到新創建的OU中。
到目前為止,除了工作之外,我已經獲得了一切。 我已經讀到它可能是因為文本文件包含用戶sAMAccountName
,而該用戶不適用於Move-ADObject
嗎?
就記錄而言,我一般來說對腳本編寫還不太陌生,而且我知道最后一行完全沒有了。 一切都由我在網上找到的東西組成。
碼:
$OU = "$((get-date).toString('dd-MM-yyyy'))"
$PathOU = "OU=DEPARTURES,OU=IT,OU=USERS,OU=DK,DC=xxx"
New-ADOrganizationalUnit $OU -ProtectedFromAccidentalDeletion $false -Path $PathOU
$CN = get-content "\\Server\User Administration\User Deletion\UsersToBeDisabled.txt"
$CN |Foreach {
Get-ADUser $_ | Disable-ADAccount
Move-ADObject -Identity $_ -TargetPath $OU
}
錯誤:
Move-ADObject:在“ DC = xxx”下找不到標識為“ firstname.lastname”的對象。 ActiveDirectoryCmdlet:Microsoft.ActiveDirectory.Management.ADIdentityNotFoundException,Microsoft.ActiveDirectory.Management.Commands.MoveADObject **
希望您對如何使用它有所幫助,謝謝!
BR。 MIK
您可以將-PassThru
開關與Disable-ADAccount
一起使用,以Move-ADObject
用戶對象沿畫線Move-ADObject
Get-ADUser $_ | Disable-ADAccount -PassThru | Move-ADObject -TargetPath "OU=$OU,$PathOU"
另外,這也應該起作用:
$user = Get-ADUser $_
$user | Disable-ADAccount
$user | Move-ADObject -TargetPath "OU=$OU,$PathOU"
這里有幾個錯誤;
1-您正在嘗試將整個AD對象用於-identity標志:而不是$ _,請嘗試使用$ _。samaccountname。
2-您正在嘗試將adobject移至$ ou,它只是一個字符串。 我假設您的new-adOrganizationalUnit命令有效; 因此,請在其后添加一行以表示“ $ newOU = Get-ADorganizationalunit” -path [whatever]
抱歉,我沒有時間輸入和測試:(
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.