Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

AD Gruppenmitglieder via Powershell von anderem Server auslesen..

Frage Microsoft Windows Server

Mitglied: makaroni

makaroni (Level 1) - Jetzt verbinden

30.12.2014, aktualisiert 13:21 Uhr, 2097 Aufrufe, 12 Kommentare, 2 Danke

Hallo zusammen,

ich möchte gerne automatisiert auf Active Directory Server via Powershell zugreifen und Mitglieder einer entsprechenden Gruppe auslesen.

Ich habe nun folgendes:

01.
### --- Globale Variablen --- 
02.
 
03.
$Server = "Server" 
04.
$AD_Group = "Group" 
05.
$AD_User = "Server\Benutzer" 
06.
$Output_File = "Pfad" 
07.
 
08.
 
09.
 
10.
Get-ADGroupMember -Recursive "$AD_Group" -Server "$Server" -Credential "$AD_User" |ft name | Out-File "Output_File" 
11.
 
12.
Write-Host -foregroundColor yellow "Alle User aus der Gruppe ""Gruppe"" erfolgreich ausgelesen!"  
13.
 
Nun MUSS ich allerdings bei jedem auslesen das Passwort von dem Benutzer via Eingabemaske manuell eingeben. Das soll aber bereits im Skript passieren. Des Weiteren wäre es interessant, wenn das Passwort irgendwo verschlüsselt liegt, Powershell sich dieses zieht und entschlüsselt, sodass dieses nicht unbedingt im Klartext dort drin steht. Aber wie gehe ich nun vor? Ideen? Vorschläge?

Vielen Dank schon einmal
Mitglied: jsysde
30.12.2014 um 08:54 Uhr
Moin.

Warum übergibst du Username/Passwort?
Jeder Domain User hat lesenden Zugriff auf das AD...

Cheers,
jsysde
Bitte warten ..
Mitglied: makaroni
30.12.2014 um 08:56 Uhr
Ja das stimmt soweit.

Ich möchte allerdings auf einen anderen Server zugreifen, wo der Domain User dann keinen lesenden Zugriff hat. z.B. unterschiedliche Domains...
Bitte warten ..
Mitglied: colinardo
LÖSUNG 30.12.2014, aktualisiert um 13:21 Uhr
Moin Makaroni,
machst du so:
01.
# password als Secure-String in Texdatei speichern(nur einmalig machen) 
02.
convertfrom-securestring -secureString (read-host -assecurestring) | set-content "D:\password.txt" 
03.
 
04.
# Erstellen des Credential-Objects in deinem Script mit dem Passwort aus der Textdatei 
05.
$cred = New-Object PSCredential "user@domain.com", (gc "D:\password.txt" | convertto-SecureString)
Die erste Zeile benötigst du nur einmalig um das Textfile mit dem verschlüsselten Passwort zu erstellen. Die nächste Zeile holt sich das Passwort wieder aus der Textdatei und erstellt daraus das Credential-Object was du an deinen Aufruf übergeben kannst.

WICHTIG: Die Passwortdatei kann nur auf dem gleichen System und mit dem gleichen Benutzeraccount verwendet werden womit das Passwortfile erstellt wurde !!! D.h. das Script muss später mit dem gleichen Benutzeraccount ausgeführt werden, welcher das Passwortfile erstellt hat !!

Grüße Uwe
Bitte warten ..
Mitglied: makaroni
30.12.2014 um 09:34 Uhr
Vielen Dank schon einmal,

das bedeutet. Ich MUSS das SKRIPT immer auf der jeweiligen Maschine ausführen, von der ich das entsprechende auslesen möchte? Oder kann ich mit dem identischen Benutzer auch über Remote die Sachen auslesen lassen?

Beim Ausführung von der ersten Zeile kommt folgendes:

ConvertFrom-SecureString : Cannot process argument because the value of argumen
t "SecureString" is invalid. Change the value of the "SecureString" argument an
d run the operation again.
Bitte warten ..
Mitglied: colinardo
30.12.2014, aktualisiert um 11:26 Uhr
Zitat von makaroni:
das bedeutet. Ich MUSS das SKRIPT immer auf der jeweiligen Maschine ausführen, von der ich das entsprechende auslesen
möchte? Oder kann ich mit dem identischen Benutzer auch über Remote die Sachen auslesen lassen?
Die Generierung des Passwortfiles wird anhand von einmaligen Sicherheitsmerkmalen des Rechners und des Users generiert, die beim Auslesen bzw Rückwandeln entsprechend gleich sein müssen !!
D.h. also das du das File immer dort und mit dem User generieren musst mit dem das Script später ausgeführt werden soll. Anders wäre es ja sinnlos solch ein File zu generieren, wenn es mit jedem Account wieder zurück gewandelt werden könnte
Beim Ausführung von der ersten Zeile kommt folgendes:
Sorry, da ist mir auf meinem Smartphone noch ein kleiner Fehler reingerutscht, ist oben korrigiert.

Grüße Uwe
Bitte warten ..
Mitglied: makaroni
30.12.2014, aktualisiert um 11:51 Uhr
Ok verstanden und es ergibt Sinn

Aber der Fehler kommt immernoch:

Ich habe mir nun zwei .ps1 dateien angelegt, die erste mit folgendem Inhalt:
01.
convertfrom-securestring -secureString (read-host -assecurestring) | set-content "C:\Users\test\Documents\test\password.txt" 
ConvertFrom-SecureString : Cannot process argument because the value of argumen
t "SecureString" is invalid. Change the value of the "SecureString" argument an
d run the operation again.
Bitte warten ..
Mitglied: colinardo
LÖSUNG 30.12.2014, aktualisiert um 13:21 Uhr
verwendest du noch die PS Version 2.0 ?

dann schreibe es so:
01.
$securestring = read-host -assecurestring -Prompt "Bitte Passwort eingeben" 
02.
convertfrom-securestring -secureString $securestring | set-content "D:\password.txt"
Bitte warten ..
Mitglied: makaroni
30.12.2014, aktualisiert um 13:20 Uhr
Ja, ist die noch vom alten 08 Server... Aber das klappt nun besten Dank

Nun fehlt mir allerdings noch die Verbindung zum anderen Server, ohne dass ich Benutzername und Passwort eingeben muss...

Mein Ansatz war wie folgt:


01.
### --- Globale Variablen --- 
02.
 
03.
$Server = "Server" 
04.
$AD_Group = "Group" 
05.
$AD_User = "Server\Benutzer" 
06.
$Output_File = "Pfad" 
07.
 
08.
 
09.
 
10.
Get-ADGroupMember -Recursive "$AD_Group" -Server "$Server" -Credential "$AD_User" |ft name | Out-File "Output_File" 
11.
 
12.
Write-Host -foregroundColor yellow "Alle User aus der Gruppe ""Gruppe"" erfolgreich ausgelesen!" 

EDIT:

Die Frage ist noch die, wie ich das Objekt jetzt übergebe, bis jetzt übergebe ich lediglich den Benutzernamen, allerdings muss ja das Passwort $cred noch hinterlegt werden...
Bitte warten ..
Mitglied: colinardo
LÖSUNG 30.12.2014, aktualisiert um 13:29 Uhr
Hatte ich zwar oben schon geschrieben, aber egal dann eben nochmal
01.
$Server = "Server" 
02.
$AD_Group = "Group" 
03.
$AD_User = "Server\Benutzer" 
04.
$Output_File = "Pfad" 
05.
 
06.
$securepass = gc "D:\password.txt" | convertto-SecureString 
07.
$cred = New-Object System.Management.Automation.PSCredential($AD_User, $securepass) 
08.
Get-ADGroupMember -Recursive $AD_Group -Server $Server -Credential $cred | ft name | Out-File $Output_File
Bitte warten ..
Mitglied: makaroni
30.12.2014 um 13:32 Uhr
Oh Du hast Recht, hatte ich wohl überlesen...

Einmal muss ich nun allerdings noch nerven. Folgender Fehler kommt:

New-Object : Cannot find type [PSCredential]: make sure the assembly containing this type is loaded.
Bitte warten ..
Mitglied: colinardo
LÖSUNG 30.12.2014, aktualisiert um 13:42 Uhr
Zitat von makaroni:

Einmal muss ich nun allerdings noch nerven. Folgender Fehler kommt:

New-Object : Cannot find type [PSCredential]: make sure the assembly containing this type is loaded.
wieder die PS 2.0 hatte es oben bereits korrigiert
$cred = New-Object System.Management.Automation.PSCredential($AD_User, $securepass) 
p.s. an die Abkürzungen gewöhnt man sich leider sehr schnell
Bitte warten ..
Mitglied: makaroni
30.12.2014 um 13:42 Uhr
Vielen Dank So viel Ahnung möchte ich auch gerne haben ;)
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Powershell AD Attribute auslesen
gelöst Frage von xbast1xBatch & Shell8 Kommentare

Hallo zusammen, ich möchte gern von allen AD Usern die E-Mail,Nachname, Vorname auslesen und in eine CSV exportieren. Ich ...

Windows Server
Gruppenmitglieder einer Rechtegruppe im AD auf eine andere übertragen?
gelöst Frage von BjoernPWindows Server3 Kommentare

Hallo zusammen, aktuell strukturieren wir in der Firma gewaltig um und legen neue Distribution Lists und Rechtegruppen an. Die ...

Windows Userverwaltung
Export von Gruppenmitgliedern des AD in txt file
gelöst Frage von Hendrik2586Windows Userverwaltung7 Kommentare

Guten Morgen liebe Gemeinde! Ich hab zwar schon ein bisschen gegoogelt, bin aber immer nur auf relativ alte Beiträge ...

Batch & Shell
Mit PowerShell die Berechtigungen eines AD-Users auslesen
gelöst Frage von windelterroristBatch & Shell8 Kommentare

Huhu Admins Brauch eine hoffentlich kleine Unterstützung von euch im PowerShell Bereich. Versuche mit diesem Befehl die AD-User Information ...

Neue Wissensbeiträge
Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 10 StundenInternet2 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 14 StundenDSL, VDSL1 Kommentar

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Windows 10

Microsoft bestätigt DMA-Policy-Problem in Win10 v1709

Information von DerWoWusste vor 14 StundenWindows 10

Wer sein Gerät mit der DMA-Policy absichert, bekommt evtl. Hardwareprobleme in v1709 von Win10. Warum? Weil v1709 endlich "richtig" ...

Verschlüsselung & Zertifikate

Die Hölle friert ein weiteres Stück zu: Microsoft integriert OpenSSH in Windows

Information von ticuta1 vor 17 StundenVerschlüsselung & Zertifikate

Interessant Die Hölle friert ein weiteres Stück zu: Microsoft integriert OpenSSH in Windows SSH-Kommando in CMD.exe und PowerShell

Heiß diskutierte Inhalte
Netzwerkmanagement
Mehrere Netzwerkadapter in einem PC zu einem Switch zusammenfügen
Frage von prodriveNetzwerkmanagement21 Kommentare

Hallo zusammen Vorweg, ich konnte schon einige IT-Probleme mit Hilfe dieses Forums lösen. Wirklich klasse hier! Doch für das ...

Windows Server
Anmeldung direkt am DC nicht möglich
Frage von ThomasGrWindows Server16 Kommentare

Hallo, ich habe bei unserem Server 2016 Standard ein Problem. Keine Ahnung wie das auf einmal passiert ist. Ich ...

Hardware
Links klick bei Maus funktioniert nicht
gelöst Frage von Pablu23Hardware16 Kommentare

Hallo erstmal. Ich habe ein Problem mit meiner relativ alten maus jedoch denke ich nicht das es an der ...

TK-Netze & Geräte
VPN-fähige IP-Telefone
Frage von the-buccaneerTK-Netze & Geräte14 Kommentare

Hi! Weiss noch jemand ein VPN-fähiges IP-Telefon mit dem man z.B. einen Heimarbeitsplatz gesichert anbinden könnte? Habe nur einen ...