bleppsatter
Goto Top

SQL mit AD-Powershell

Hallo Leute,

ich habe ein etwas komplexeres Anliegen, was sich eher an die Experten für Powershell bzw. SQL richtet. Wir haben verschiedene interne Newsfeeds als Mailverteiler und wollen den Benutzern die Möglichkeit geben, selbstständig die jeweils relevanten Newsfeeds zu abbonnieren bzw. auch abzuwählen. Da wir bereits eine eigene Datenbank einsetzen, wollen wir das Frontend für den Benutzer dort einsetzen. Er trifft in der Datenbank eine Auswahl der gewünschten Feeds und klickt auf einen Button. Im Hintergrund ruft SQL eine Powershell mit AD-Modul auf und führt darin die Aktion aus.
Jetzt soll natürlich die Änderung direkt erfolgen, sobald sie gemacht wurde, bzw. alle 5 Minuten werden die anlaufenden Befehle gesammelt und dann als Stapel verarbeitet. Problematisch ist nur, das jedes mal beim Starten der Powershell das AD-Modul importiert wird. Da ich so die Datenbank total ausbremse, ist das keine Lösung für mich.

Idealerweise soll beispielsweise die AD-Powershell ständig laufen und über irgendeinen Weg die Befehle vom SQL ausführen. Mein Ansatz war, das über eine "normale" Powershell ohne Module zu lösen, die eventuell mit Get-Process und Invoke-Command das ausführt. Aber mittlerweile habe ich die Vermutung dass es doch nicht so klappen wird. Das große Problem aus meiner Sicht ist das Importieren des AD-Moduls beim Aufruf der Powershell. Ist das ein Teufelskreis den ich nur mit Kompromissen durchbrechen kann, oder gibt es noch einen anderen Weg, der auch das gleiche bewirkt? Letztendlich soll durch einen Trigger in der Datenbank die Änderung in der AD bewirkt werden. Es handelt sich auch nur um bestehende AD-User und Gruppen.

Ich hoffe dass ich mein Anliegen verständlich machen konnte.

Grüße
BleppSatter

Content-Key: 393359

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

Ausgedruckt am: 03.10.2022 um 22:10 Uhr

Mitglied: 137846
Lösung 137846 20.11.2018 aktualisiert um 13:19:01 Uhr
Goto Top
Würde es gleich im Trigger mit .NET und c# ins AD schreiben ohne den hier unnötigen Powershell-Overhead, denn auf das AD kann das .NET schon von Haus aus ohne die Powershell-Zwischenschicht zugreifen.

Btw. in der Powershell brauchst du nicht wirklich das AD-Modul , das kannst du alles auch über die dafür zur Verfügung stehenden .NET Klassen wie [ADSI] und [adsisearcher] etc. abfackeln. Das AD Modul ist nur für die Vereinfachung der Arbeit da, aber wenn man weiß wie das AD und deren Abfragen funktioniert braucht man es nicht wirklich. Alles was du mit dem Modul machen kannst kannst du auch ohne Modul mit den reinen .NET Klassen erreichen. Wenn du trotzdem nicht davon lassen willst dann importiere nur die CMDLets die du auch tatsächlich nutzt
https://stackoverflow.com/questions/9170659/optimizing-powershell-module ...

Gruß A.
Mitglied: aqui
aqui 20.11.2018 aktualisiert um 13:15:06 Uhr
Goto Top
was sich eher an die Experten für Powershell bzw. SQL richtet
Fragt sich warum du den Thread dann nicht in die Rubrik Batch & Shell gelegt hast damit es die Experten und Gurus dort auch lesen ?! face-sad
Mitglied: BleppSatter
BleppSatter 20.11.2018 um 13:21:36 Uhr
Goto Top
Danke für den Hinweis.
Mitglied: BleppSatter
BleppSatter 20.11.2018 um 14:08:56 Uhr
Goto Top
Der Link von stackoverflow hat es echt gebracht! Wusste das nicht, dass man explizit die CMDlets angeben kann, die man ahben will.
Besten Dank face-smile