Get-ADObject:クエリの解析エラーサポートされていません:-neq '?

Aug 19 2020

使用: https://docs.microsoft.com/en-us/powershell/module/addsadministration/get-adobject?view=win10-ps

すべてのアクティブなADユーザーとコンピューターのみが表示されるように結果を取得するにはどうすればよいですか。

Get-ADObject -Filter 'Enabled -eq $True -and isDeleted -neq $True -and -not (isRecycled -eq $True) -and name -ne "Deleted Objects"'

エラー:

Get-ADObject : Error parsing query: 'Enabled -eq $True -and isDeleted -neq $True -and -not (isRecycled -eq $True) -and name -ne "Deleted Objects"' Error Message: 'Operator Not supported: -neq' at position:
'34'. At line:1 char:1
+ Get-ADObject -Filter 'Enabled -eq $True -and isDeleted -neq $True -an ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ParserError: (:) [Get-ADObject], ADFilterParsingException
    + FullyQualifiedErrorId : ActiveDirectoryCmdlet:Microsoft.ActiveDirectory.Management.ADFilterParsingException,Microsoft.ActiveDirectory.Management.Commands.GetADObject

回答

1 Steven Aug 19 2020 at 13:52

本当にユーザーとコンピューターを探しているだけの場合は、次のようなクエリを使用してください。

Get-ADObject -Filter 'ObjectClass -eq "user" -or ObjectClass -eq "computer"'

すでに述べた演算子エラーにGet-ADObjectも関わらず、二重引用符で囲んで使用することはできません$true/$内部は偽。それらは拡大し、単に真/偽として出てきます。次のようなコマンドを実行するとGet-ADObject -Filter "Enabled -eq $true"、エラーが返されます。

Get-ADObject : Error parsing query: 'Enabled -eq True' Error Message: 'syntax error' at position: '13'.

あなたは、単一引用符でそれを実行しない場合は、実行されますが、私の環境では、おそらく「有効」ためで返されるより一般的なオブジェクトからクエリ可能なプロパティではありません、何も返さないGet-ADObjectとは異なりGet-ADUser/Computer。したがって、引用符とクエリ自体を試してみる必要があります。

さておき-not (isRecycled -eq $true)、あなたがただ言うことができるときのようなものを使う理由はさておきisRecycled -eq $false。あなたはすでにあなたの手に比較的複雑なクエリを持っています、私は不必要な反転を切り刻むでしょう...

1 GrzegorzOchlik Aug 19 2020 at 13:40

のようなものはありません-neq。あなたが探しているのは-neここでもっと読む:https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_comparison_operators?view=powershell-5.1