Hurricane Factory Matze

??? Wie geht Standby unter Windows?
!!! Per PowerShell (ohne Adminrechte):
powercfg /hibernate off
rundll32.exe powrprof.dll,SetSuspendState

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


??? Wie kann sehen, auf welche Windows Ziel-Editionen ich upgraden kann?
!!! PowerShell als Administrator starten:
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 PowerShell?

!!! 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 lautet meine FQDN (Fully Qualified Domain Name)?
  1. Öffne eine Eingabeaufforderung (PowerShell geht dafür nicht – Stand 24.08.2023)
  2. echo %COMPUTERNAME%.%USERDNSDOMAIN%
  3. Antwort: NB1xyz.Domainname.TLD

Wie geht ein Full Shutdown?

shutdown.exe /s /f /t 1800


Wie geht ein normaler Shutdown?

shutdown.exe /s /t 1800


Wie geht ein Shutdown mit echtem Neustart unter Windows?

shutdown.exe -r -f -t 20 -c "Windows wird in 20 Sekunden VOLLSTAENDIG heruntergefahren und startet dann neu."


Wie funktioniert der Ruhezustand (Suspend to Disk)?

shutdown.exe /h /t 3600
shutdown.exe /t 3600


Wie geht ein Restart?

shutdown.exe -r -t 52920


Wie geht ein Abbruch?

shutdown -a

Zahlen = Wert in Sekunden


Wie geht ein Standby?

powercfg /hibernate off
rundll32.exe powrprof.dll,SetSuspendState

Anmerkung: PowerShell ohne Admin-Rechte genügt.


Wie schalte ich Hibernate aus?

powercfg.exe /hibernate off
@echo.
@pause

Wie schalte ich Hibernate wieder ein?

powercfg.exe /hibernate on
@echo.
@pause


WinGet

Allgemein
  • Winget funktioniert auch ohne Administratorrechte!
  • Winget ist auf allen Windows-Clients ab Version 20H2 vorinstalliert!
  • Winget ist NICHT verfügbar für Windows Server!
winget search / find
  • Winget find / search sucht auch, wenn nur ein Teil des Programmnamens enthalten ist. Beispiel:
winget search Code
winget search zoom
Was hat bei mir alles funktioniert?

winget install Jabra.Direct
winget install DominikReichl.KeePass
winget install TrackerSoftware.PDF-XChangePRO
winget install Microsoft.VisualStudioCode -e
Winget install Notepad++
Winget install Ghisler.TotalCommander

Was hat bei mir nicht funktioniert?

• ClickShare
• Kerio VPN Client
• Citavi
• FileZilla

winget upgrade

• Mit „winget upgrade“ ohne weitere Argumente erhält man einen Überblick über die verfügbaren Upgrades.
• Der Befehl „winget upgrade Microsoft.Edge“ beispielsweise aktualisiert Edge.
• Noch besser, man nutzt: winget upgrade –all

Der Befehl „winget upgrade Microsoft.Edge“ zum Bsp. aktualisiert Edge

winget upgrade Microsoft.Edge
winget upgrade --all

winget list
  • Zeigt eine Liste aller installierten Programme an
  • Bei denjenigen, die einen Eintrag in der Spalte „Available“ haben, weiß WinGet von einer neueren Version, die im einfachsten Fall mit winget upgrade „Paketname“ installiert werden kann.

winget uninstall <Appname>
  • winget uninstall habe ich erfolgreich getestet mit:

winget uninstall PuTTY
winget uninstall "Adobe Acrobat Reader DC - Deutsch"
winget uninstall "Google.Chrome"
winget uninstall "Zoom(64bit)"
winget uninstall cortana

??? Was mache ich bei der Meldung: winget: die Benennung „winget“ wurde nicht gefunden?
!!! PowerShell mit Administratorrechten:

Add-AppxPackage -RegisterByFamilyName -MainPackage Microsoft.DesktopAppInstaller_8wekyb3d8bbwe

Wie bekomme ich eine Liste alle Platten?

Get-PhysicalDisk

Wie erfahre ich meine Clustergröße?

Get-Disk | Format-List


Welche Daten sollte ich erfassen um einen Hyper-V-Host zu analysieren (ChatGPT)?

Voraussetzung ist ChatGPT 3.5 (kostenlos). Es gibt bereits einen Ordner C:\temp auf einem Windows Server 2019. Der Server heißt: HYPER-V1!


Frage an ChatGPT

Welche Daten muss ich sammeln, um einen Hyper-V Host zu analysieren? Erstelle mir ein PowerShell-Skript mit diesen Abfragen. Der Hostname ist HYPERV1, die Domäne ist xyz. Speichere alle Analysen in einzelnen Textdateien unter c:\temp.

Antwort von ChatGPT

# Hostname und Domäne
$hostname = "HYPERV1"
$outputPath = "C:\temp\"

# Systeminformationen
$systemInfo = systeminfo | Out-File "$outputPath\SystemInfo.txt"

# Hardware-Spezifikationen des Hyper-V-Hosts
$hardwareInfo = Get-WmiObject -Namespace root\cimv2 -Class Win32_ComputerSystem | Out-File "$outputPath\HostHardwareInfo.txt"

# Netzwerkkonfiguration des Hyper-V-Hosts
$networkInfo = Get-NetAdapter | Out-File "$outputPath\HostNetworkInfo.txt"

# Hyper-V-Konfiguration auf dem Host
$vmInfo = Get-VM | Out-File "$outputPath\HostVMInfo.txt"
$vSwitchInfo = Get-VMSwitch | Out-File "$outputPath\HostVMSwitchInfo.txt"
$resourcePoolInfo = Get-VMResourcePool | Out-File "$outputPath\HostResourcePoolInfo.txt"

# Leistungsüberwachung auf dem Hyper-V-Host
$performanceInfo = Get-Counter | Out-File "$outputPath\HostPerformanceInfo.txt"

# Informationen zu physischen Festplatten in GB
$physicalDiskInfo = Get-PhysicalDisk | Select-Object MediaType, OperationalStatus, @{Name='SizeGB';Expression={"{0:N2}" -f ($_.Size / 1GB)}} | Out-File "$outputPath\PhysicalDiskInfo.txt"

# Ereignisprotokolle auf dem Hyper-V-Host
$eventLogInfo = Get-WinEvent | Out-File "$outputPath\HostEventLogInfo.txt"

# Ausgabe abschließen
Write-Host "Analysen für den Hyper-V-Host ($hostname) abgeschlossen. Ergebnisse sind unter $outputPath gespeichert."

Ich speichere dieses Skript als .ps1 Datei unter C:\temp. Der Name der Datei ist: AnalyseSkript.ps1. Dann führe ich die Datei mit einer administrativen PowerShell aus.

Die Textdateien, die ich erhalte, lasse ich von ChatGPT analysieren: „Analysiere:“ Dann füge ich den Inhalt der Textdatei ein!


Welche Daten sollte ich erfassen um einen App-Server zu analysieren?

Frage an ChatGPT

Welche Daten muss ich sammeln, um einen App-Server zu analysieren? Erstelle mir ein PowerShell-Skript mit diesen Abfragen. Der Hostname ist App1, die Domäne ist xyz. Speichere alle Analysen in einzelnen Textdateien unter c:\temp.

# Definiere Hostname und Domäne
$hostname = "App1"
$domain = "xyz"

# Zielverzeichnis für die Textdateien
$outputDirectory = "C:\temp"

# Dienste-Status
Get-Service | Out-File -FilePath "$outputDirectory\ServiceStatus_$hostname.txt"

# Netzwerkinformationen
Get-NetAdapter | Out-File -FilePath "$outputDirectory\NetAdapterInfo_$hostname.txt"
Get-NetTCPConnection | Out-File -FilePath "$outputDirectory\TCPConnectionInfo_$hostname.txt"

# Ressourcenauslastung
Get-Process | Out-File -FilePath "$outputDirectory\ProcessInfo_$hostname.txt"

# Systeminformationen
Systeminfo | Out-File -FilePath "$outputDirectory\SystemInfo_$hostname.txt"

# Ereignisprotokolle
Get-WinEvent -LogName 'Application', 'System' | Out-File -FilePath "$outputDirectory\EventLogs_$hostname.txt"