Ausführen von PowerShell IDAM-Berichten - Wie Man

Ausführen von PowerShell IDAM-Berichten

Benötigen Sie eine kostenlose Möglichkeit, über die Benutzerkonten einer Organisationseinheit und die Sicherheitsgruppen, zu denen sie Mitglied sind, Bericht zu erstatten?

Ich habe mit Hilfe einiger Freunde ein Power-Shell-Skript zusammengestellt, das alle Benutzerkonten in einer Organisationseinheit und alle im aktiven Verzeichnis verfügbaren Sicherheitsgruppen aus dem aktiven Verzeichnis abruft.

Dann ruft das Skript eine Excel-Tabelle auf und füllt die erste Spalte mit allen Benutzernamen und die erste Zeile mit allen Sicherheitsgruppen.

Wenn ein Benutzerkonto von einer Mitgliedschaft in einer Sicherheitsgruppe geprüft wird und das Ergebnis wahr ist, wird die Tabellenzelle in der Matrix mit der Zeichenfolge „999999“ gekennzeichnet.

Die resultierende Kalkulationstabelle wird selbst in einer kleinen Umgebung sehr umfangreich sein, sie liefert jedoch den Berechtigungsbericht zu einem bestimmten Zeitpunkt.

Um den Bericht einfacher zu lesen und zu verwenden, habe ich ein Excel-Makro, das alle Spalten mit dem Eintrag "999999" findet und diese Spalte dann ausblenden.

4 Schritte insgesamt

Schritt 1: Voraussetzungen:

1. Quest Active Roles Management Shell für Active Directory, die auf dem Computer installiert ist, um die Abfrage http://www.quest.com/powershell/activeroles-server.aspx auszuführen
2. MS Excel 2007/2010 mit aktivierten Entwicklertools im Menüband installiert.
3. Ms Excel Macro-Sicherheit, um alle Makros zu aktivieren.
4. Computer mit Domänenmitgliedschaft zu Active Directory.
5. Berechtigungen des Domänenadministratorkontos.

Schritt 2: Das Powershell-Skript (die Magie geschieht hier)

Audit-Shell-Shell der AD-Gruppenmitgliedschaft. Suchen Sie nach der Zeile :( $ users = Get-QADUser -SearchRoot 'FQDN.com/OU_People'-SizeLimit 0) und geben Sie Ihre FQDN-Details und die Organisationseinheit an, über die Sie berichten möchten.
Speichern Sie das unten stehende Skript in einer Textdatei mit der Dateierweiterung ".ps1".

###################################################################
# AD Group Membership Audit
#
#
# Dieses Skript nimmt alle Gruppen in AD (oder die angegebene Organisationseinheit) und Orte an
# in den Spalten einer Excel-Tabelle.
Dann nimmt er alle Benutzer und platziert sie entlang der
# Reihen.
# Dann wird an jedem Querschnitt, an dem sich der Benutzer befindet, ein '999999' eingefügt
# ist Mitglied dieser Gruppe.
#
#
#

$ erroractionpreference = "SilentlyContinue"
$ xl = New-Object -comobject Excel.Application
$ xl.visible = $ True

$ wb = $ xl.Workbooks.Add ()
$ s3 = $ wb.Sheets | wo {$ _. name -eq "Sheet3"}
$ s3.delete ()
$ ws = $ wb.Worksheets.Item (1)

$ wb.Sheets.Add ()
$ ws = $ wb.Worksheets.Item (1)
$ ws.Name = "AD-Gruppen"

$ groups = Get-QADGroup -SizeLimit 0
$ intCol = 2
$ grlook = @ {}
foreach ($ group in $ groups) {
$ grlook.Add ($ group.dn, $ intcol)
$ ws.Cells.Item (1, $ intCol) = $ group.name
$ intCol = $ intCol + 1

}
# Ändern Sie die folgende Zeile, um auf Ihre Domäne und Organisationseinheit zu verweisen
$ users = Get-QADUser -SearchRoot 'FQDN.com/OU_People'-SizeLimit 0
$ intRow = 2
$ uslook = @ {}
foreach ($ user in $ users) {

$ uslook.Add ($ user.sid, $ intRow)
$ ws.Cells.item ($ intRow, 1) = $ user.name

$ intRow = $ intRow + 1

foreach ($ usgr in $ user.MemberOf) {

$ grcol = $ grlook.get_item ($ usgr)
$ usrow = $ uslook.get_item ($ user.sid)
$ ws.Cells.item ($ usrow, $ grcol) = "999999"


}
}


b7464c56c3ef022241911c4d4e23e63d3a5f9e7a110d2934667d095c6649d5a2_UsersOU_Gruppenmitgliedschaften _-_ Users.ps1

Schritt 3: Das Spreadsheet-Skript bereinigen

Excel-Makro zum Leeren leerer Spalten. Speichern Sie das folgende Skript in einer Textdatei mit der Dateierweiterung ".bas". Der Dateiname lautet "Cleanupmacro.bas".

Attribut VB_Name = "HideBlankColumns"
Unter HideColumns ()
Dim c so lang
Dim m As Long
Application.ScreenUpdating = False
m = Cells (1, Columns.Count) .End (xlToLeft) .Column
Für c = 2 bis m
Wenn Application.WorksheetFunction.CountIf (Spalten (c), "999999") = 0, dann
Spalten (c) .Hidden = True
Ende wenn
Nächstes c
Application.ScreenUpdating = True
End Sub


f59e3e6b80b5b848b05543c512607ec365a3eae2a4819a3b9098d2eecb63ac8f_Cleanupmacro.bas

Schritt 4: Jetzt können wir es verwenden

Nutzungsverfahren:
1. Vom Computer aus haben Sie die Quest-Tools installiert.
2. Führen Sie die Quest Powershell-Tools als Administrator aus.
3. Wechseln Sie in das Power Shell-Skriptverzeichnis, in dem Sie das Skript gespeichert haben.
4. Skript ausführen
5. Eine Excel-Tabelle wird angezeigt und die Zellen werden mit Informationen gefüllt.
6. Führen Sie das Cleanupmacro.bas-Makro aus, um leere Spalten zu bereinigen und zu entfernen.
ein. Klicken Sie im Excel-Menüband auf die Entwicklungswerkzeuge.
b. Klicken Sie auf Visual Basic-Symbol
c. Klicken Sie auf Modul laden
d. Wechseln Sie zu Cleanupmacro.bas
e. Makro auswählen
f. Klicken Sie auf Ausführen.
7. Alle leeren Spalten werden nicht angezeigt.
8. Speichern Sie das Dokument.

Was Sie jetzt haben sollten, ist eine große Tabellenkalkulationsmatrix der Benutzer einer Organisationseinheit und deren Zuordnung zu Sicherheitsgruppen.
Dann ist es ein einfacher Schritt, nach einem bestimmten Benutzernamen oder einer bestimmten Sicherheitsgruppe zu suchen, um sie genauer zu untersuchen.