Benutzer-Werkzeuge

Webseiten-Werkzeuge


powershell:ad:examples

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
powershell:ad:examples [2022/07/06 14:49] – [User, Gruppen und Computer] henningpowershell: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**:\\ 
-<code powershell+Step 1: Wer ist an dem System angemeldet? 
-PS C:\Windows\System32> Invoke-Command -ComputerName vm-133 -ScriptBlock {quser} +<code powershell>Invoke-Command -ComputerName REMOTECOMPUTER--ScriptBlock {quser}</code> 
- BENUTZERNAME          SITZUNGSNAME       ID  STATUS  LEERLAUF   ANMELDEZEIT +Die Ausgabe dazu sieht wie folgt aus: 
- froehlich                                  Getr.          36  06.07.2022 07:37 +<code> BENUTZERNAME          SITZUNGSNAME       ID  STATUS  LEERLAUF   ANMELDEZEIT 
- vbw                   rdp-tcp#           Aktiv            06.07.2022 13:49 + USER_TO_LOG_OFF                             Getr.        36   06.07.2022 07:37 
-PS C:\Windows\System32> Invoke-Command -ComputerName vm-133 -ScriptBlock {logoff 1} + 2ND_USER                 rdp-tcp#         Aktiv           06.07.2022 13:49</code> 
-PS C:\Windows\System32+Step 2Benutzer über Session-ID abmelden: 
-</code>+<code powershell>Invoke-Command -ComputerName vm-133 -ScriptBlock {logoff 1}</code> 
 + 
 +Das Ganze halbwegs automatisiert als Skript: 
 +<file powershell RemoteLogOff-User.ps1> 
 +$User=Read-Host "SamAccountName eingeben" 
 + 
 + 
 +# Anmeldelogs nach dem System des Benutzers durchsuchen 
 +$Directory="\\vbw-bochum.local\dfs\Logondaten\benutzer" 
 +$Files=Get-ChildItem $Directory -File 
 + 
 +$UserSystems=@() 
 +foreach ($File in $Files) 
 +    { 
 +    foreach($line in Get-Content ($File.FullName)) 
 +        { 
 +        if($line -like "Rechner*"
 +            { 
 +            $item=New-Object -type psobject | Add-Member -MemberType NoteProperty -Name "SamAccountName" -Value $File.name.TrimEnd(".txt") -PassThru | add-member -MemberType NoteProperty -Name "System" -Value $line.TrimStart("Rechner: ") -PassThru | Add-Member -MemberType NoteProperty -Name "Erfassungsdatum" -Value $File.lastwritetime -PassThru  
 +            } 
 +        } 
 +     
 +    $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 "$($user:using)"
 +    $sessions 
 +    $SessionIDs=@() 
 +    foreach ($line in $sessions) 
 +        { 
 +        if ($line -notlike "*Benutzername*" -and $line -notlike "*Aktiv*"
 +            { 
 +            #replace "\s{2,}",";" =Ersetze alle mehr als 2x aufeinanderfolgenden Leerzeichen durch ein ; 
 +            $SessionIDs+=($line -replace "\s{2,}",";").split(";")[2] 
 +            } 
 +        } 
 +     
 +    foreach ($SessionID in $SessionIDs) 
 +        { 
 +        logoff $SessionID 
 +        } 
 +    } 
 +</file> 
 + 
 + 
 +**Horizon-Anmeldedienst starten**:\\ 
 +<code powershell>Invoke-Command -ComputerName REMOTECOMPUTER-X -ScriptBlock {Get-Service vmlm | start-service}</code>
  
 ===== Arbeiten am AD ===== ===== Arbeiten am AD =====
Zeile 45: Zeile 96:
 **Exchange-Version** **Exchange-Version**
 <code powershell>Get-ADObject "CN=ms-Exch-Schema-Version-Pt,$((Get-ADRootDSE).schemaNamingContext)" -Property Rangeupper</code> <code powershell>Get-ADObject "CN=ms-Exch-Schema-Version-Pt,$((Get-ADRootDSE).schemaNamingContext)" -Property Rangeupper</code>
 +==== 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 ''.PNG'' konvertieren:**
 +<code powershell>magick mogrify -monitor -format PNG *.heic</code>
 +
 +**Wahlweise nach ''.JPG'':**
 +<code powershell>magick mogrify -monitor -format JPG *.heic</code>
 +
 +**Eine einzelne Datei konvertieren:**
 +<code powershell>magick convert IMG_1874.HEIC IMG_1874.jpg</code>
 +
powershell/ad/examples.1657111793.txt.gz · Zuletzt geändert: 2024/05/27 08:34 (Externe Bearbeitung)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki