Get-ADObject: Sorgu ayrıştırılırken hata oluştu Desteklenmiyor: -neq '?

Aug 19 2020

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

Yalnızca tüm etkin AD Kullanıcılarını ve Bilgisayarlarını gösterecek şekilde sonucu nasıl alabilirim:

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

Hata:

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

Yanıtlar

1 Steven Aug 19 2020 at 13:52

Gerçekten yalnızca kullanıcıları ve bilgisayarları arıyorsanız, şunu söyleyen bir sorgu kullanın:

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

Zaten belirtilen operatör hatasına Get-ADObjectrağmen, çift tırnak ve kullanım yapılamaz$true/$içeride yanlış. Bunlar genişleyecek ve basitçe doğru / yanlış olarak ortaya çıkacaktır. Gibi bir komut çalıştırmak Get-ADObject -Filter "Enabled -eq $true"bir hata döndürür:

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

Tek tırnak işaretleriyle çalıştırırsanız, çalışır ancak benim ortamımda hiçbir şey döndürmez, çünkü "Etkin", tarafından döndürülen Get-ADObjectve bunun tersine daha genel nesnelerden gelen sorgulanabilir bir özellik değildir Get-ADUser/Computer. Bu nedenle, alıntı ve sorgunun kendisiyle oynamak zorunda kalacaksınız.

-not (isRecycled -eq $true)Sadece söyleyebildiğin zamanki gibi bir şeyi neden kullanman bir kenara isRecycled -eq $false. Elinizde zaten nispeten karmaşık bir sorgu var, gereksiz ters çevirmeleri keserim ...

1 GrzegorzOchlik Aug 19 2020 at 13:40

Diye bir şey yok -neq. Aradığınız -neşey burada daha fazlasını okuyun:https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_comparison_operators?view=powershell-5.1