Sto cercando di estrarre determinati gruppi di utenti con Get-ADUser. Gli utenti appartengono a società i cui nomi includono caratteri non ASCII, ad esempio "Gåäördet". Sfortunatamente, dobbiamo usare la proprietà dell'azienda per questo compito e abbiamo anche bisogno che funzioni da uno script.
Di seguito funziona alla grande in una sessione interattiva ma non restituisce dati quando eseguito all'interno di uno script:
$Company = "Gåäördet"
Get-ADUser -Filter "company -eq '$Company'"
Le soluzioni alternative che ho trovato funzionano ma non sono abbastanza affidabili (rischia di selezionare oggetti sbagliati):
# Work-around 1:
$Company = "Gaaordet" # Replace åäö with aao in the variable
Get-ADUser -Filter "company -eq '$Company'" # Matches the company "Gåäördet", but why?
...o...
# Work-around 2:
$Company = "G...rdets" # Use regex for åäö
Get-ADUser -Filter * -Properties Company | ? Company -match "$Company"
Per ulteriore nota: la codifica dei caratteri potrebbe non essere il problema qui. Come suggerito in un commento, l'ho inserito in una sceneggiatura. Leggi il commento per ogni riga Get-ADUser:
$OutputEncoding = [Console]::OutputEncoding
$Company = "aao"
Get-ADUser -Filter "company -eq '$Company'" # Matches company "åäö"
$Company = "åäö"
Get-ADUser -Filter "company -eq '$Company'" # No matches
Speravo che alcuni di voi potessero offrire una soluzione migliore a questo enigma.