如何导入路径中有空格的 CSV 文件?
How do you import a CSV file that has spaces in the path?
我是 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
虽然您应该尽可能避免在文件中使用空格,但您可以通过将所有空格放在引号中来绕过它。这就是我导入所有 CSV 文件的方式 paths/names。
$csv = import-csv "c:\example\file path\file.csv"
我是 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
虽然您应该尽可能避免在文件中使用空格,但您可以通过将所有空格放在引号中来绕过它。这就是我导入所有 CSV 文件的方式 paths/names。
$csv = import-csv "c:\example\file path\file.csv"