michi.wtr
Goto Top

ActiveDirectory Modul ohne RSAT

Derzeit arbeite ich viel mit dem Modul ActiveDirectory für administrative Aufgaben mit der PowerShell.
Wenn ich nun aber auf anderen Servern (keine Domain Controller) oder auf meinem lokalen Computer damit arbeite, um Informationen abzufragen etc. möchte ich nicht immer das RSAT.ActiveDirectory.* WindowsCapability hinzufügen.

Dass das geht weiß ich und ich habe dazu auch schon mehrere Guides gefunden. Mein Problem ist aber, dass ich bei einem gewissen Schritt nicht weiterkomme.

Und zwar wenn ich unter C:\Windows\WinSxS die
– Microsoft.ActiveDirectory.Management.dll
– Microsoft.ActiveDirectory.Management.resources.dll

Dateien kopieren möchte, existieren dafür mehrere Dateien:

gci C:\Windows\WinSxS -Recurse -Filter Microsoft.ActiveDirectory.Management.dll

Ausgabe:

###########################################################################################
###########################################################################################
    Verzeichnis:
    C:\Windows\WinSxS\amd64_microsoft.activedirectory.management_31bf3856ad364e35_10.0.14393.0_none_460abe5b8cd5fcec


Mode                LastWriteTime         Length Name

-a----       31.01.2021     08:16            728 Microsoft.ActiveDirectory.Management.dll


    Verzeichnis:
    C:\Windows\WinSxS\amd64_microsoft.activedirectory.management_31bf3856ad364e35_10.0.14393.4046_none_8e617d01d0ac3e16


Mode                LastWriteTime         Length Name

-a----       29.10.2020     05:46        1127936 Microsoft.ActiveDirectory.Management.dll


    Verzeichnis:
    C:\Windows\WinSxS\x86_microsoft.activedirectory.management_31bf3856ad364e35_10.0.14393.0_none_e9ec22d7d4788bb6


Mode                LastWriteTime         Length Name

-a----       31.01.2021     08:50            728 Microsoft.ActiveDirectory.Management.dll


    Verzeichnis:
    C:\Windows\WinSxS\x86_microsoft.activedirectory.management_31bf3856ad364e35_10.0.14393.4046_none_3242e17e184ecce0


Mode                LastWriteTime         Length Name

-a----       29.10.2020     05:28        1127936 Microsoft.ActiveDirectory.Management.dll

###########################################################################################
###########################################################################################

Wie finde ich heraus, welches davon die richtige ist, bzw. ist etwas bei uns falsch konfiguriert und es sollte nicht mehrere Dateien geben?

Da ich mich damit leider noch gar nicht auskenne, wollte ich nicht einfach drauf losprobieren im Produktivsystem.

Vielen lieben Dank schonmal im Voraus,
Micha face-smile

Content-Key: 5332259968

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

Printed on: April 28, 2024 at 02:04 o'clock

Member: DerMaddin
DerMaddin Jan 13, 2023 at 10:55:38 (UTC)
Goto Top
Enter-PSSession wäre eine Möglichkeit.
Mitglied: 5175293307
Solution 5175293307 Jan 13, 2023 updated at 11:16:12 (UTC)
Goto Top
RSAT oder irgebdwelche DLLs braucht man eigentlich gar nicht. Die ganzen Methoden für's AD lassen sich per Default auch direkt ohne das Modul über die .NET-Funktionen Modul nutzen face-wink. Die nötigen Klassen sind alle schon in der Powershell integriert ...

Paar Beispiele :

Um alle Eigenschaften eines Users abzufragen:
[adsisearcher]::new('(samAccountName=MaxMuster)','*').findOne()  
Oder alle Computer inkl. dessen Properties abrufen
[adsisearcher]::new('(objectClass=computer)','*').findAll()  
Oder alle User inkl. dessen Properties abrufen
 [adsisearcher]::new('(objectClass=user)','*').findAll()  

Ändern von Daten geht natürlich mit entsprechenden Rechten auch

Bsp. Mobilnummer eines Users ändern
$user = [adsisearcher]::new('(samAccountName=MaxMuster)','*').findOne()  
$entry = $user.GetDirectoryEntry()
$entry.mobile = '+49123456789'  
$entry.setinfo()
...
Bisl mit LDAP beschäftigen, das bringt dir den Boost in dein AD Powershell Knowledge face-wink. RSAT Modul überflüssig!

Gruß wurstel
Member: michi.wtr
michi.wtr Jan 13, 2023 at 11:41:36 (UTC)
Goto Top
Zitat von @DerMaddin:

Enter-PSSession wäre eine Möglichkeit.

Das kenne ich bereits und funktioniert auch sehr gut, allerdings habe ich noch eine Möglichkeit gesucht, Module, die ich oft verwende noch auf einem öffentlichen Ordner zu speichern, bzw. in nem Ordner z.B. auf nem USB oder soetwas.


Zitat von @5175293307:

RSAT oder irgebdwelche DLLs braucht man eigentlich gar nicht. Die ganzen Methoden für's AD lassen sich per Default auch direkt ohne das Modul über die .NET-Funktionen Modul nutzen face-wink. Die nötigen Klassen sind alle schon in der Powershell integriert ...

Bisl mit LDAP beschäftigen, das bringt dir den Boost in dein AD Powershell Knowledge face-wink. RSAT Modul überflüssig!

Gruß wurstel

Werde ich mir auf jeden Fall mal noch ansehen, aber ist das denn nicht normal dass es mehrere .dll Dateien gibt für die, welche ich suche? Denn falls schon würde ich es dennoch gerne ausprobieren das Modul auch mit in meinem Ordner speichern zu können face-smile.
Bin was PS anbelangt sowieso noch ganz am Anfang, habe bis vor 2-3 Monaten noch nie von PowerShell gehört gehabt ^^ und es ist mittlerweile mein absolutes Lieblingstool und tatsächlich würde ich mich da sehr gerne so viel/ so gut wie möglich weiterbilden.

Gruß Micha
Mitglied: 5175293307
5175293307 Jan 13, 2023 updated at 11:48:38 (UTC)
Goto Top
Zitat von @michi.wtr:
aber ist das denn nicht normal dass es mehrere .dll Dateien gibt für die, welche ich suche?
Das ist der Sinn des WinSXS Verzeichnisses. Es hebt Versionen bei Updates auf falls man Windows Updates deinstallieren möchte.
Die DLL alleine bringt dir übrigens nichts.
Member: michi.wtr
michi.wtr Jan 15, 2023 at 11:57:29 (UTC)
Goto Top
Hmm naja okay, hat irgendwie geklappt jetzt, auch wenn's nicht schön ist...
habe mir den Ordner fürs AD Modul kopiert, die *Management.dll Datei mit reinkopiert, so kann ich nun auf anderen Geräten das Modul importieren.

Import-Module Pfad\zur\Microsoft.ActiveDirectory.Management.dll

Ist zwar keine schöne Lösung aber vorübergehend erstmal nicht schlecht, werde mir aber auf jeden Fall LDAP mal ansehen face-smile