Se você estiver usando o Powershell 3 ou melhor, não há necessidade de Import-Module ActiveDirectory
. O PS carregará automaticamente o módulo para você assim que você usar um cmdlet desse módulo. Use $PSVersionTable
para ter certeza, mas acho que você está usando o PS 3 ou melhor, porque você parece usar um código foreach automático no seu código, e o foreach automático não ficou disponível até o PS 3.
Além disso, não adianta continuar se o módulo não for carregado, já que é crítico para o resto do script, então o -ErrorAction Continue
também não faz sentido. Eu atacaria toda a primeira linha.
Linha dois em que você Import-CSV está OK. A variável $UserList
parece supérflua. De lá, eu provavelmente faria algo assim:
$UserCSV = Import-Csv C:\Users\Administrator\test.csv
Foreach ($User in $UserCSV)
{
Try
{
# Use "EA Stop" to ensure the exception is caught.
$U = Get-ADUser $User.sAMAccountName -ErrorAction Stop
Write-Host "$($User.SamAccountName) is already in use."
}
Catch [Microsoft.ActiveDirectory.Management.ADIdentityNotFoundException]
{
# The user was not found!
Write-Warning "$($User.SamAccountName) was not found in this domain!"
}
Catch
{
# Some other terrible error occured!
Write-Error "OHSHI"
}
}