Get-ADObject: Galat parsing query Not support: -neq '?

Aug 19 2020

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

Bagaimana saya bisa mendapatkan hasilnya sehingga hanya menampilkan semua Pengguna AD & Komputer aktif saja:

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

Kesalahan:

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

Jawaban

1 Steven Aug 19 2020 at 13:52

Jika Anda benar-benar hanya mencari pengguna & komputer, gunakan kueri yang mengatakan bahwa:

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

Menahan kesalahan operator yang telah disebutkan, Get-ADObjecttidak dapat mengutip dan menggunakan ganda$true/$palsu di dalam. Itu akan berkembang dan keluar sebagai benar / salah. Menjalankan perintah seperti Get-ADObject -Filter "Enabled -eq $true"mengembalikan kesalahan:

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

Jika Anda menjalankannya dengan tanda kutip tunggal, ini akan berjalan tetapi di lingkungan saya tidak mengembalikan apa pun, kemungkinan karena "Enabled" bukan properti yang dapat kueri dari objek yang lebih umum yang dikembalikan oleh Get-ADObjectdan tidak seperti Get-ADUser/Computer. Jadi, Anda harus bermain-main dengan kutipan dan kueri itu sendiri.

Selain mengapa menggunakan sesuatu seperti -not (isRecycled -eq $true)ketika Anda bisa mengatakannya isRecycled -eq $false. Anda sudah memiliki kueri yang relatif kompleks di tangan Anda, saya akan memotong inversi yang tidak perlu ...

1 GrzegorzOchlik Aug 19 2020 at 13:40

Tidak ada yang namanya -neq. Apa yang Anda cari adalah -neBaca lebih lanjut di sini:https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_comparison_operators?view=powershell-5.1