PowerShell / CMD


Hurricane Factory Matze

??? Wie kann ich einen Port auf Erreichbarkeit im Netzwerk testen?
!!! Per PowerShell (ohne Adminrechte): Test-NetConnection 192.168.115.2 -p 4090


??? Wie kann ich per PowerShell sehen, auf welche Windows Ziel-Editionen ich upgraden kann?
!!! Wieder Windows PowerShell als Administrator starten und DISM /online /Get-TargetEditions eingeben. Achtung, Editions (Plural) und nicht Edition (Singular) eingeben. Es könnten ja mehrere Ziel-Editionen sein!


??? Wie finde ich heraus, an welchem DC ich angemeldet bin?

!!! CMD / echo %LOGONSERVER%. Ergebnis ist dann zum Bsp.: \\DC001!


??? Wie finde ich heraus, wo im AD mein Computer steht???

!!!Get-ADComputer <hostname>!


??? Wo steht der User im AD?

!!!Get-ADUser <username>!


??? Wie erfahre ich die Anzahl der verbauten Prozessoren?

!!!wmic COMPUTERSYSTEM get NumberOfProcessors!


??? Wie erfahre ich welche CPU verbaut ist?

!!! Get-WmiObject win32_processor | ft -AutoSize Name,NumberOfCores,NumberOfLogicalProcessors!


??? Wie bekomme ich eine Liste alle Platten?

!!!Get-PhysicalDisk!


??? Wie starte ich eine VM per PS?

!!!Start-VM <hostname>! Bsp.: Start-VM vmmonitor01.

Anmerkung

  • Geht nur auf einem Hyper-V-Host
  • Geht nur per PowerShell mit Admin-Rechten
    # Server remote starten mit PowerShell #

???Wie fahre ich eine VM herunter per PS?

!!!Stop-VM <hostname>! Bsp.: Stop-VM VMMonitor01 -Save


??? Wie mache ich einen Restart einer VM?

!!!Restart-VM <hostname>!

Tipp: Verhindern der Ausgabe aller Befehlszeilen: @echo off


???Wenn die Netzlaufwerke spinnen, was tun?
!!! Logon Skript in den lokalen Autostartordner einfügen per Windows-Taste + r, danach shell:startup ohne Anführungszeichen eingeben

Inhalt der logon.cmd mit folgenden Inhalt:

net use /persistent:yes
net use v: /delete
net use r: /delete
net use w: /deletenet use v: \server2019\daten
net use r: \server2019\programm1
net use w: \ server2019\programm2

Anmerkung: Das Vorgehen hier ist nicht elegant, da nicht zentral administrierbar. 
Geht aber immer :-).


??? Wie finde ich alle Computer des ADs heraus und deren letzte Anmeldung am DC plus Auswertung in Excel?
!!! PowerShell als Admin starten und folgendes eingeben:
Import-Module activedirectory
Start-Transcript -Path "C:\temp\LastLogonDate01.csv"
Get-ADComputer -Filter * -Properties * | FT Name, LastLogonDate -Autosize
Stop-Transcript


??? Wie starte ich den Geräte-Manager mit Admin-Rechten?
!!! PowerShell als Admin öffnen und devmgmt.msc eingeben!


??? Wie starte ich die Computerverwaltung mit Admin-Rechten?
!!! PowerShell als Admin öffnen und compmgmt.msc eingeben!


??? Wie bekomme ich eine Liste der installierten VMs plus Report in Excel?
!!! Get-VM | Export-Csv -path “c:\temp\Get-VM01.csv” –NoTypeInformation!
!!! Anschließend in Excel über “Daten” / “Text in Spalten” bereit zum Auswerten.


??? Wie kann ich ein aus Versehen gelöschtes Benutzerkonten aus dem AD wiederherstellen?

Der kürzeste Weg geht mit AdRestore. Syntax: adrestore -r vorname


??? Wie kann ich den Windows Defender Antivirus auf einem Windows Server (de)installieren?

Lösungsvorschlag

  1. Per PowerShell mit Admin-Rechte: Install-WindowsFeature -Name Windows-Defender-GUI
    Dann kommt die Meldung:

Success Restart Needed Exit Code Feature Result
------- -------------- --------- --------------
True Yes SuccessRest... {Windows Defender, Windows Defender-Featur...
WARNUNG: Sie müssen den Server neu starten, um den Installationsprozess abzuschließen.

Anmerkung 1: Der Lösungsvorschlag geht nicht mit der Eingabeaufforderung und funktioniert nicht auf Windows Clients

Anmerkung 2: Wenn der Defender, wg. einer GPO gesperrt ist, dann gehe zum Registrierungs-Editor / HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender.
Dort zum DWORD DisableAntiSpyware und vergeben für diesen den Wert 0.

2. Wenn die Installation nicht per PowerShell funktioniert, dann gehe über den Server Manager / Verwalten / Rollen und Features / Den eigenen Server auswählen / Features / Windows Defender Antivirus auswählen / Weiter / Installieren und ggf. den Server neu starten


??? Wie kann ich den Windows Defender Antivirus unter Windows Server deinstallieren (NICHT EMPFOHLEN)?

!!! Auf jeden Fall gehört auf jeden Windows Server und Client ein Antivirenprogramm installiert!

!!! Der Defender kann ab WS2019 (Auch WS2016?) parallel zu einem anderen Drittanbierer-Antivirenprogramm laufen, aber hier die versprochenen Anleitung für PowerShell, auch wenn es wenig Sinn macht:

Uninstall-WindowsFeature -Name Windows-Defender-GUI
Danach Windows Defender Deinstallation prüfen über die Defender-GUI

Alternativ geht es aber auch wieder über den Server-Manager
Das geht nicht auf einem Windows Client


Immer ohne Fragezeichen, Ausrufezeichen, eckigen Klammern oder Anführungszeichen


??? Wie geht winget?

  1. Installiere oder aktualisiere über den Microsoft Store die App “App-Installer”
    1. Auf Windows-Versionen ab 20H2 mit aktuellen Patches sollte winget bereits vorhanden sein
    2. Alternativ: https://www.anreiter.at/winget-exe-nicht-gefunden/
    3. Starte eine Eingabeaufforderung oder PowerShell OHNE Adminrechte
    4. Das folgende Beispiel installiert Visual Studio Code: winget install Microsoft.VisualStudioCode -e

??? Was macht winget list ?

!!! Zeigt eine Liste der installierten Programme!

Bei denjenigen, die in der Spalte „Verfügbar“ einen Eintrag haben, weiß winget von einer neueren Version, die sich im einfachsten Fall mit winget upgrade Paketname installieren lässt.

??? Was macht winget upgrade ?

  1. Der Befehl winget upgrade Microsoft.Edge” aktualisiert, wie auch winget upgrade Microsoft.Teams
  2. Der Befehlt winget uninstall Google.Chrome deinstalliert die Anwendung, wie auch winget uninstall Zoom.Zoom

??? Was macht winget search ?

  1. Bei der Suche nach neuer Software hilft winget search “Stichwort”, wobei das Stichwort auch ein Programmname sein darf
  2. Genauere Informationen zu einer Software liefert winget show “Programmname”
  3. Weitere Kommandos liefert winget ohne Argument

??? Was macht winget uninstall?

!!! Bsp: winget uninstall PuTTY