powershell:ad:examples
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| powershell:ad:examples [2022/07/06 15:00] – [User, Gruppen und Computer] henning | powershell:ad:examples [2024/05/27 08:36] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
|---|---|---|---|
| Zeile 20: | Zeile 20: | ||
| - | **Benutzer remote von Arbeitsplatz abmelden**: | + | **Benutzer remote von Arbeitsplatz abmelden**:\\ |
| Step 1: Wer ist an dem System angemeldet? | Step 1: Wer ist an dem System angemeldet? | ||
| <code powershell> | <code powershell> | ||
| Zeile 29: | Zeile 29: | ||
| Step 2: Benutzer über Session-ID abmelden: | Step 2: Benutzer über Session-ID abmelden: | ||
| <code powershell> | <code powershell> | ||
| + | |||
| + | Das Ganze halbwegs automatisiert als Skript: | ||
| + | <file powershell RemoteLogOff-User.ps1> | ||
| + | $User=Read-Host " | ||
| + | |||
| + | |||
| + | # Anmeldelogs nach dem System des Benutzers durchsuchen | ||
| + | $Directory=" | ||
| + | $Files=Get-ChildItem $Directory -File | ||
| + | |||
| + | $UserSystems=@() | ||
| + | foreach ($File in $Files) | ||
| + | { | ||
| + | foreach($line in Get-Content ($File.FullName)) | ||
| + | { | ||
| + | if($line -like " | ||
| + | { | ||
| + | $item=New-Object -type psobject | Add-Member -MemberType NoteProperty -Name " | ||
| + | } | ||
| + | } | ||
| + | | ||
| + | $UserSystems += $item | ||
| + | } | ||
| + | |||
| + | $system=(($UserSystems | Where-Object samaccountname -like $User).system).trimend(" | ||
| + | |||
| + | # Auf dem gefundenen System nach Sessions mit dem Anmeldenamen suchen | ||
| + | Invoke-Command -ComputerName $system -ScriptBlock ` | ||
| + | { | ||
| + | $sessions=quser | Where-Object {$_ -match " | ||
| + | $sessions | ||
| + | $SessionIDs=@() | ||
| + | foreach ($line in $sessions) | ||
| + | { | ||
| + | if ($line -notlike " | ||
| + | { | ||
| + | #replace " | ||
| + | $SessionIDs+=($line -replace " | ||
| + | } | ||
| + | } | ||
| + | | ||
| + | foreach ($SessionID in $SessionIDs) | ||
| + | { | ||
| + | logoff $SessionID | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | |||
| + | **Horizon-Anmeldedienst starten**: | ||
| + | <code powershell> | ||
| ===== Arbeiten am AD ===== | ===== Arbeiten am AD ===== | ||
| Zeile 45: | Zeile 96: | ||
| **Exchange-Version** | **Exchange-Version** | ||
| <code powershell> | <code powershell> | ||
| + | ==== Bilder konvertieren ==== | ||
| + | Eigentlich ist das kein Powershell-Problem. Bilder können über eine beliebige Shell sehr gut mit Hilfe von ImageMagick konvertiert werden.\\ | ||
| + | |||
| + | **Alle *.HEIC Dateien im aktuellen Verzeichnis nach '' | ||
| + | <code powershell> | ||
| + | |||
| + | **Wahlweise nach '' | ||
| + | <code powershell> | ||
| + | |||
| + | **Eine einzelne Datei konvertieren: | ||
| + | <code powershell> | ||
| + | |||
powershell/ad/examples.1657112426.txt.gz · Zuletzt geändert: 2024/05/27 08:34 (Externe Bearbeitung)
