爲什麼Powershell的說,支持的運營商不支持?爲什麼不支持支持運營商?
我都含有下列(簡化)代碼case-sensitive not-equal operator:
$filter_accountchanged = { (sAMAccountName -eq $username) -and (GivenName -cne $givenname) }
try {
if (Get-ADUser -filter $filter_accountchanged) { # update aduser }
catch {
Write-host $_.Exception
在什麼情況下可以這樣的結果在下面的錯誤,我看見了什麼?
Microsoft.ActiveDirectory.Management.ADFilterParsingException:錯誤解析的問題: '(sAMAccountName賦-eq $用戶名) - 和((給定名稱-cne $給定名稱))' 錯誤信息: '運營商不支持:-cne' 在位置:'50'。 在Microsoft.ActiveDirectory.Management.QueryParser.yyparse() 在Microsoft.ActiveDirectory.Management.QueryParser..ctor(字符串查詢,VariableExpressionConverter varExpressionConverter,ConvertSearchFilterDelegate searchFilterConverterDelegate) 在Microsoft.ActiveDirectory.Management.Commands.ADGetCmdletBase`3.BeginProcessingOverride ()
查詢成功,當我從cne
刪除c
。
讓我們希望,將在未來的版本中得到解決,這不是很一致。 以供將來參考,下面的代碼工作http://pastebin.com/vDcJEvXu – svandragt
我沒有看過PowerShell的3,但是,但是希望所有的運營商變得可用。好主意只在給定的名字上。應該防止你的代碼變慢。 – Landjea
可否請你在你的答案給的代碼。 '| Where()'也不起作用,因爲Get-ADuser要求您默認有一個過濾器 –