簡體   English   中英

Powershell-禁用用戶並將其移動到新的OU

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM