我想从其描述中获取SamAccountName帐户。这个脚本工作正常
Get-ADUser -Filter "description -like '*qwerty*'" | Select-Object SamAccountName
但是如果我用西里尔符号改变“qwerty”,脚本就不会返回预期的结果。我该怎么做才能用西里尔符号搜索?
答案 0 :(得分:1)
在后台,-Filter
参数值将转换为LDAP过滤器。
根据{{3}},您首先需要对输入字符串进行UTF-8编码,然后使用反斜杠(\
)
无法测试它,但这应该可以解决问题:
$CyrillicString = "Алексей"
$UTF8EncodedStr = [System.Text.Encoding]::UTF8.GetBytes($CyrillicString)
$EscapedUTF8Str = $UTF8EncodedStr |ForEach-Object { "\{0:X2}" -f $( $_ -as [int16] ) }
Get-ADUser -Filter "name -like '$( -join $EscapedUTF8Str )'"