emeriks
Goto Top

PowerShell - Get-ADObject

Hi,
mit ist gerade aufgefallen, dass man mit
Get-ADObject
offenbar nicht alle Objekte aller Klassen zurückgeliefert bekommt.
Diese Abfrage
(Get-ADObject -server server1 -LDAPfilter "(objectClass=*)" -SearchScope Subtree -properties *).objectClass | sort-object -unique  
liefert nur u.g. Objektklassen, nicht aber z.B. "msExchActiveSyncDevice"

Wie kann ich solche Objekte abfragen?

E.

builtinDomain
classStore
computer
contact
container
dfsConfiguration
domainDNS
domainPolicy
fileLinkTracking
foreignSecurityPrincipal
group
groupPolicyContainer
infrastructureUpdate
intellimirrorSCP
linkTrackObjectMoveTable
lostAndFound
msDFS-NamespaceAnchor
msDFS-Namespacev2
msDFSR-Content
msDFSR-ContentSet
msDFSR-GlobalSettings
msDFSR-LocalSettings
msDFSR-Member
msDFSR-ReplicationGroup
msDFSR-Subscriber
msDFSR-Subscription
msDFSR-Topology
msExchDynamicDistributionList
msExchSystemObjectsContainer
msImaging-PSPs
msWMI-Som
nTFRSSettings
organizationalUnit
packageRegistration
rIDManager
rIDSet
rpcContainer
samServer
trustedDomain
user

Content-Key: 363061

Url: https://administrator.de/contentid/363061

Printed on: April 18, 2024 at 08:04 o'clock

Mitglied: 135333
135333 Jan 31, 2018 updated at 09:16:54 (UTC)
Goto Top
Gib mal den GlobalCatalogServer an -Server server1:3268

Gruß snap
Member: emeriks
emeriks Jan 31, 2018 at 09:25:10 (UTC)
Goto Top
Gib mal den GlobalCatalogServer an -Server server1:3268
Das ändert nichts. Auch hier ist "msExchActiveSyncDevice" nicht dabei. Sehr wohl aber (s.u.)

Muss man das verstehen?

msExchClientAccessArray
msExchConfigurationContainer
msExchContainer
msExchDynamicDistributionList
msExchExchangeServer
msExchMessageClassification
msExchOmaConfigurationContainer
msExchOrganizationContainer
msExchPrivateMDB
msExchPublicMDB
msExchSystemObjectsContainer
Member: emeriks
emeriks Jan 31, 2018 updated at 09:26:54 (UTC)
Goto Top
Ich suche jetzt über (s.u.)
Das ist zwar umständlicher, aber ich komme weiter.

$DE = New-Object System.DirectoryServices.DirectoryEntry("LDAP://DC=domain,DC=tld")  
$DS = New-Object System.DirectoryServices.DirectorySearcher($DE)

$DS.Filter = "(objectClass=msExchActiveSyncDevice)"  
$DS.SearchScope =  [System.DirectoryServices.SearchScope]::Subtree
$DS.PageSize = 1000

$SRs = $DS.FindAll()
Mitglied: 135333
135333 Jan 31, 2018 at 09:43:09 (UTC)
Goto Top
Hm, hier aber schon. Welche Umgebung? EX und AD?
Member: emeriks
emeriks Jan 31, 2018 at 10:25:19 (UTC)
Goto Top
Hinweis: Ich frage das nicht in der Exchange Powershell ab.

DC 2016 - Domain Level 2016 - Forest Level 2008 R2 (muss vorerst so bleiben)
Exchange 2010
Mitglied: 135333
Solution 135333 Jan 31, 2018 updated at 10:52:02 (UTC)
Goto Top
Zitat von @emeriks:

Hinweis: Ich frage das nicht in der Exchange Powershell ab.
Das tue ich auch nicht.
DC 2016 - Domain Level 2016 - Forest Level 2008 R2 (muss vorerst so bleiben)
Exchange 2010
Dann muss das bei dir an Berechtigungen liegen, siehe auch hier das es gehen muss
http://microlinc.homeip.net/index.php?lev1=7&lev2=15&id=298
Member: emeriks
emeriks Jan 31, 2018 updated at 11:07:10 (UTC)
Goto Top
Dann muss das bei dir an Berechtigungen liegen, siehe auch hier das es gehen muss
Das ist aber unwahrscheinlich.
  1. Ich habe es mit einem Enterprise Admin versucht
  2. in der selben PowerShell geht es über Get-ADObject nicht, sehr wohl aber über System.DirectoryServices.DirectorySearcher

Ich habe das jetzt mit dem selben Benutzerkonto auf einem anderen Rechner versucht: Dort geht es.
Beide Rechner sind Win 2008 R2 mit PowerShell 4.0

Der Unterschied ist .... Tada!
Die PowerShell muss voll eleviert sein. So ein Blödsinn ....
Mitglied: 135333
135333 Jan 31, 2018 updated at 11:10:42 (UTC)
Goto Top
Die PowerShell muss voll eleviert sein. So ein Blödsinn ....
Och nö, echt jetzt?! face-big-smile Ich schick dir einen Latthammer zum Nagel ziehen face-wink
Member: emeriks
emeriks Jan 31, 2018 updated at 12:11:43 (UTC)
Goto Top
Ich schick dir einen Latthammer zum Nagel ziehen
Nicht so schnell!
Das muss ein Bug sein. Denn sonst lässt sich nicht erklären, dass es in einer nicht elevierten Shell direkt über .Net trotzdem funktioniert.

Hast mir aber trotzdem geholgen, auf die Spur zu kommen. Danke.
Mitglied: 135333
135333 Jan 31, 2018 updated at 20:20:47 (UTC)
Goto Top
Vermutlich beschränkt die Shell bei dem CMDLet bei dir auf 1000 Objects, setze mal -ResultSetSize $null.
Hier geht es auf jeden Fall auch damit egal ob elevated oder nicht.
Member: emeriks
emeriks Feb 01, 2018 updated at 07:26:00 (UTC)
Goto Top
Vermutlich beschränkt die Shell bei dem CMDLet bei dir auf 1000 Objects, setze mal -ResultSetSize $null.
Nö, das hat damit nichts zu tun. Aber der Hammer kommt erst noch:
Ich habe es leider eben erst bemerkt und es ist viel dämlicher als Du glauben wirst. Ich hatte im Laufe das Tages eine Shell mit einem anderern Konto gestartet. Und in dieser hatte ich es versucht. Dieses Konto darf aber diese Objekte nicht lesen. Au weia ...
Es ist immer gut, ne Nacht drüber zu schlafen.