$users = Get-Content "C:\PowerShellScript\CSV\swyxusers.csv"
$test = Foreach ($user in $users){
Get-ADUser -Filter {Name -like "*$user*" } | Select-Object SamAccountName, Enabled
}
$test| export-csv -Force -Append "C:\PowerShellScript\CSV\skit.csv"
A execução acima não resulta em nada exportado para o CSV, mas se eu adicionar Write-Host "$User"
, ele exportará a lista de usuários. Então, sei que o recurso de exportação funciona.
Se eu executar assim:
$users = Get-Content "C:\PowerShellScript\CSV\swyxusers.csv"
$test = Foreach ($user in $users){
Get-ADUser -Filter {Name -like "*User 1*" } | Select-Object SamAccountName, Enabled
}
$test| export-csv -Force -Append "C:\PowerShellScript\CSV\skit.csv"
Ele preenche meu CSV com o resultado de "Usuário 1" (o primeiro usuário no documento e este é o resultado com exceção) pelo número de vezes que há linhas na variável $ user. Então, sei que meu método de pesquisa funciona.
Então, minha pergunta / problema é como obtê-lo para percorrer o meu arquivo CSV e realmente encontrar algo ao pesquisar usando um objeto? Desde que funciona quando eu uso uma string inserida manualmente, mas não quando uso objeto.
O CSV é formatado da seguinte maneira:
USER 1
USER 2
USER 3
USER 4
Editar:
Problema não está relacionado ao loop foreach, se eu executar o seguinte:
$test = "TEST USER"
Get-ADUser -Filter {Name -eq "*$test*"}
ainda não funciona, tem que ser algo com a forma como a filtragem é feita.