Get-ADUser를 사용하여 선택된 사용자 집합을 추출하려고합니다. 사용자는 이름에 비 ASCII 문자 (예 : "Gåäördet")가 포함 된 회사에 속합니다. 불행하게도, 우리는이 작업을 위해 회사 속성을 사용해야하며 스크립트에서 작동해야합니다.
다음은 대화식 세션에서는 훌륭하지만 스크립트 내에서 실행될 때 데이터를 반환하지 않습니다.
$Company = "Gåäördet"
Get-ADUser -Filter "company -eq '$Company'"
내가 찾은 해결 방법은 작동하지만 충분히 신뢰할 수 없습니다 (잘못된 객체를 선택하는 위험) :
# Work-around 1:
$Company = "Gaaordet" # Replace åäö with aao in the variable
Get-ADUser -Filter "company -eq '$Company'" # Matches the company "Gåäördet", but why?
...또는...
# Work-around 2:
$Company = "G...rdets" # Use regex for åäö
Get-ADUser -Filter * -Properties Company | ? Company -match "$Company"
추가 참고 사항 : 문자 인코딩이 문제가되지 않을 수 있습니다. 의견에서 제안했듯이 이것을 스크립트 안에 넣었습니다. 각 Get-ADUser 라인에 대한 주석을 읽으십시오.
$OutputEncoding = [Console]::OutputEncoding
$Company = "aao"
Get-ADUser -Filter "company -eq '$Company'" # Matches company "åäö"
$Company = "åäö"
Get-ADUser -Filter "company -eq '$Company'" # No matches
나는 당신 중 일부 가이 수수께끼에 더 나은 솔루션을 제공 할 수 있기를 바랍니다.