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

Powershell Abfrage zur PSO

Frage Microsoft Windows Server

Mitglied: Belloci

Belloci (Level 2) - Jetzt verbinden

12.07.2013 um 08:16 Uhr, 2431 Aufrufe, 7 Kommentare, 1 Danke

Guten Morgen Admins,

wir haben ein PSO (Password Settings Object) bei uns im Einsatz. Realisiert haben wir das, indem wir das PSO Gruppen zugeordnet haben. Ich würde gerne mit der Powershell abfragen, welcher Benutzer noch nicht von dem PSO betroffen ist. Lässt sich das einrichten?

Get-ADFineGrainedPasswordPolicySubject <PSO> macht jedenfalls den weg geradeaus, ich benötige den Umgekehrten Weg und wenns geht auf User-Basis.

Für Tipps bin ich wie immer dankbar!

Gruß
Norman

Mitglied: colinardo
12.07.2013, aktualisiert um 10:21 Uhr
Hi Norman,
du könntest folgendermaßen vorgehen: Zuerst besorgst du dir alle Users die sich in den Gruppen befinden die der PSO zugeordnet sind. Dann holst du dir eine Liste mit allen Usern des AD und schickst diese beiden Listen an ein Compare-Object. Übrig bleiben die User die nicht von der PSO betroffen sind.
(in der ersten Zeile noch den Namen der PSO eintragen)
01.
$psoName = "TestPSO" 
02.
$allPSOUsers = Get-ADFineGrainedPasswordPolicySubject $psoName | ?{$_.objectClass -eq "group"}| %{Get-ADGroupMember $_.Name -Recursive} | ?{$_.objectClass -eq "user"} | select -unique 
03.
$allUsers = Get-AdUser -Filter * 
04.
$allUsersNotinPSO = Compare-Object -ReferenceObject $allUsers -DifferenceObject $allPSOUsers -PassThru | select Name 
05.
$allUsersNotinPSO
Hoffe das hilft Dir weiter...

Grüße Uwe
Bitte warten ..
Mitglied: Belloci
12.07.2013 um 10:27 Uhr
Klasse, hat funktioniert...

Muss mir echt mal PS näher angucken, wäre ja toll wenn man nicht immer wie ein hansel fragen muss

Dankeschön Uwe!
Bitte warten ..
Mitglied: colinardo
12.07.2013 um 10:53 Uhr
Powershell ist eigentlich nicht schwer wenn man weiß welche CMDLets es gibt und wie man sich die Infos beschaft welche Eigenschaften und Methoden die einzelnen Objekte zur Verfügung stellen.
Wichtige und hilfreiche Befehle sind z.B. folgende
  • get-help [SUCHBEGRIFF oder CMDLET]
  • Um bestimmte CMDLets zu finden nutzt man den Befehl get-command. Beispiel um alle CMDLets mit Get- anfangen zu ermitteln:
get-command get-*
  • Mit dem CMDLet get-member kann man die Eigenschaften und Methoden von Objekten in Erfahrung bringen. Wenn ich z.B. alle verfügbaren Eigenschaften und Methoden eines Objects des Typs System.String in Erfahrung bringen möchte schicke ich das Objekt via Pipe an get-member
"Teststring" | get-member
Gut zum Arbeiten mit der Powershell ist die in ab Windows 7 integrierte Entwicklungsumgebung Powershell ISE. Dort hast du auch eine integrierte Hilfe mit einem Powershell Handbuch.

Der Vorteil in Windows die Powershell zu nutzen liegt zum größten Teil daran das sich einem der gesamte Vorrat an .NET-Objekten erschließt die dort genutzt werden können, so kann man z.B. mit den Windows.Forms ganze Benutzeroberflächen zusammenbauen.

Hier im Forum hat @TuXHunt3R auch mal 3 schöne Tutorials geschrieben:
http://www.administrator.de/search/detail.php?what=knowledge&x=0&am ...

Grüße Uwe
Bitte warten ..
Mitglied: Belloci
12.07.2013 um 11:51 Uhr
Hi Uwe,

vielen Dank. Da habe ich wieder was zu tun. Aber verfluche mich nicht falls ich doch noch mal was erfragen muss


Schönen Freitag.
Bitte warten ..
Mitglied: Belloci
12.07.2013, aktualisiert um 13:37 Uhr
Hallöchen Nochmal,

eine Frage ergibt sich noch: Kann man soweit noch auf Personen Filtern, die noch aktiv sind? Sprich: Es sollen alle User ausgeblendet werden, die sich z.B. länger als 4 Wochen nicht am System angemeldet haben.

Habe mal versucht das mit dem Befehl "dsquery user -inactive 4" zu machen und in deine Zeilen unterzukriegen aber irgendwie passt das nicht...

Hast du noch eine Idee?!

Vielen Dank!
Norman
Bitte warten ..
Mitglied: colinardo
12.07.2013, aktualisiert um 14:00 Uhr
kannst du so machen:
01.
$psoName = "TestPSO" 
02.
$allPSOUsers = Get-ADFineGrainedPasswordPolicySubject $psoName | ?{$_.objectClass -eq "group"}| %{Get-ADGroupMember $_.Name -Recursive} | ?{$_.objectClass -eq "user"} | select -unique 
03.
$allUsers = Get-AdUser -Filter * 
04.
$allUsersNotinPSO = Compare-Object -ReferenceObject $allUsers -DifferenceObject $allPSOUsers -PassThru 
05.
 
06.
foreach ($user in $allUsersNotinPSO){ 
07.
	$lastLogonTime = Get-ADUser $user.SamAccountName -Properties LastLogon | select -ExpandProperty LastLogon 
08.
	if ($lastLogonTime -gt 0 -And (get-date).AddDays(-28) -lt ([DateTime]::FromFileTime($lastLogonTime))){ 
09.
		Get-ADUser $user.SamAccountName | select Name 
10.
11.
}
der obere Teil bleibt gleich nur die zusätzliche Schleife ist dazu gekommen
Bitte warten ..
Mitglied: Belloci
12.07.2013 um 14:16 Uhr
Klasse, vielen Dank!!

Schönes WE!

Norman
Bitte warten ..
Ähnliche Inhalte
Exchange Server
Powershell Archivmailbox abfrage Abfrage
Frage von Clubby84Exchange Server5 Kommentare

Hallo zusammen, möchte gerne eine Ausgabe in eine Datei haben, mit allen Mailboxen, bei denen das Archiv noch nicht ...

Windows Server
PowerShell-Abfrage
gelöst Frage von r00t-1337Windows Server5 Kommentare

Hallo Zusammen, ich bin auf der suche nach einer Powershell-Abfrage welche mir alle AD-Gruppen inkl. aller Benutzer darin auflistet ...

Batch & Shell
Powershell Prozessorauslastung abfragen
gelöst Frage von 114757Batch & Shell5 Kommentare

Hallo liebes Forum, ich beschäftige mich gerade mit Powershell und möchte mit einem Script kontinuierlich alle 5 Sekunden die ...

Batch & Shell
Powershell SQL-Abfrage
Frage von MarabuntaBatch & Shell3 Kommentare

Was mache ich falsch? Ziel ist ein Server 2003 mit MSSQL drauf, also Remote.

Neue Wissensbeiträge
Batch & Shell

Open Object Rexx: Eine mittlerweile fast vergessene Skriptsprache aus dem Mainframebereich

Information von Penny.Cilin vor 10 StundenBatch & Shell8 Kommentare

Ich kann mich noch sehr gut an diese Skriptsprache erinnern und nutze diese auch heute ab und an noch. ...

Humor (lol)

"gimme gimme gimme": Automatischer Test stolpert über Easter Egg im man-Tool

Information von Penny.Cilin vor 12 StundenHumor (lol)6 Kommentare

Interessant, was man so alles als Easter Egg implementiert. Ist schon wieder Ostern? "gimme gimme gimme": Automatischer Test stolpert ...

MikroTik RouterOS

Mikrotik - Lets Encrypt Zertifikate mit MetaROUTER Instanz auf dem Router erzeugen

Anleitung von colinardo vor 1 TagMikroTik RouterOS8 Kommentare

Einleitung Folgende Anleitung ist aus der Lage heraus entstanden das ein Kunde auf seinem Mikrotik sein Hotspot Captive Portal ...

Sicherheit

Sicherheitslücke in HP-Druckern - Firmware-Updates stehen bereit

Information von BassFishFox vor 1 TagSicherheit1 Kommentar

Ein weiterer Grund, dass Drucker keinerlei Verbindung nach "auswaerts" haben sollen. Unter Verwendung spezieller Malware können Angreifer aus der ...

Heiß diskutierte Inhalte
Windows Server
RDP macht Server schneller???
Frage von JaniDJWindows Server17 Kommentare

Hallo Community, wir betrieben seit geraumer Zeit diverse virtuelle Maschinen und Server mit Windows Server 2012. Leider haben wir ...

Windows 10
Windows 10 dunkler Bildschirm nach Umfallen
Frage von AkcentWindows 1015 Kommentare

Hallo, habe hier einen Windows 10 Rechner der von einem User umgefallen wurde (Beine übers Knie, an den PC ...

Windows 10
Bitlocker nach Verschlüsselung nicht mehr aufrufbar!
gelöst Frage von alexlazaWindows 1013 Kommentare

Hallo, ich besitze ein HP ZBook 17 G4 mit einem Windows 10 Pro Betriebssystem. Bei diesem Problem handelt sich, ...

Batch & Shell
Neuste Datei via PowerShell kopieren
gelöst Frage von kaiuwe28Batch & Shell11 Kommentare

Hallo zusammen, ich hatte mir mit Hilfe der Suche im Forum einen kleinen Code von colinardo rausgesucht und versucht ...