Saya mencoba mengekstraksi set pengguna dengan Get-ADUser. Pengguna milik perusahaan yang namanya termasuk karakter non-ASCII, misalnya "Gåäördet". Sayangnya, kami harus menggunakan properti perusahaan untuk tugas ini dan kami juga membutuhkannya untuk bekerja dari skrip.
Berikut ini berfungsi dengan baik dalam sesi interaktif tetapi tidak mengembalikan data saat dijalankan dalam skrip:
$Company = "Gåäördet"
Get-ADUser -Filter "company -eq '$Company'"
Solusi yang saya temukan berhasil tetapi tidak cukup andal (berisiko memilih objek yang salah):
# Work-around 1:
$Company = "Gaaordet" # Replace åäö with aao in the variable
Get-ADUser -Filter "company -eq '$Company'" # Matches the company "Gåäördet", but why?
...atau...
# Work-around 2:
$Company = "G...rdets" # Use regex for åäö
Get-ADUser -Filter * -Properties Company | ? Company -match "$Company"
Untuk catatan tambahan: pengodean karakter mungkin bukan masalah di sini. Seperti yang disarankan dalam komentar saya memasukkan ini ke dalam skrip. Baca komentar untuk setiap Get-ADUser-line:
$OutputEncoding = [Console]::OutputEncoding
$Company = "aao"
Get-ADUser -Filter "company -eq '$Company'" # Matches company "åäö"
$Company = "åäö"
Get-ADUser -Filter "company -eq '$Company'" # No matches
Saya berharap beberapa dari Anda dapat menawarkan solusi yang lebih baik untuk teka-teki ini.