Я довольно новичок в powershell, но я хочу импортировать CSV-файл, в котором есть столбец с именем «SamAccountName», и этот столбец содержит список учетных записей AD, которые необходимо переместить в подразделение отключенных пользователей. Основная проблема, с которой я сталкиваюсь, - это путь к файлу (очевидно, что в моем коде это не настоящий путь к файлу), он выдает ошибку из-за пробелов в пути к файлу. Как мне go исправить это без переименования файлов? Кроме того, если у вас есть какие-либо рекомендации для моего текущего кода, не стесняйтесь давать их мне, я всегда открыт для обратной связи.
Также есть бит "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