我对Powershell相当陌生,但是我想导入一个csv文件,该文件的列标记为“ SamaccountName”,并且该列包含要移至禁用用户OU的AD帐户列表。我遇到的主要问题是文件路径((我的代码中的那个显然不是真正的文件路径),由于文件路径中的空格,它引发了错误。如何在不重命名文件的情况下解决该问题?另外,如果您对我当前的代码有任何建议,可以随时给我,我随时欢迎您反馈。
其中还有“ AD accOUNT NOT FOUND”位,因为这些是自动生成的CSV,如果用户没有帐户,则将其放在该列中。
#DeclARING VARIABLES
$csv = import-csv c:\example\file path\file.csv
$ou = "OU=Disabled accounts,OU=Users,DC=MHC,DC=LOCAL"
$totalLines = 0
$notFound = 0
$found = 0
#SEARCHES CSV FOR THE SAMaccOUNTNAMES THEN MOVES THE accOUNTS
foreach ($c in $csv) {
$totalLines++
if ($c.SamaccountName -eq "AD accOUNT NOT FOUND!"){
$notFound++
} else {
$c.SamaccountName
write-host "Moving "$c.SamaccountName"..." -nonewline
Get-ADUser $c.SamaccountName | Move-ADObject -TargetPath $ou | Set-ADObject $c.SamaccountName -replace @{msExchHideFromAddressLists=$true}
write-host " Done" -foreground green
$found++
}
}
#JUST OUTPUTS EVERYTHING THAT IT DID
write-host
write-host "*************************************"
write-host "Process Complete"
write-host $found "accounts moved" -foreground green
write-host $notFound "accounts not found" -foreground red
write-host $totalLines "Lines processed" -foreground yellow