Windows Commands
Přehled příkazů pro správu Windows VPS. Preferuj PowerShell — je konzistentnější a mocnější než CMD.
Systém
# Informace o systemu
Get-ComputerInfo | Select-Object OsName, OsVersion, CsTotalPhysicalMemory
# Uptime
(Get-Date) - (Get-CimInstance Win32_OperatingSystem).LastBootUpTime
# Restart a vypnuti
Restart-Computer -Force
Stop-Computer -ForceSlužby
Get-Service # vsechny sluzby
Get-Service | Where-Object Status -eq 'Running'
Get-Service -Name "MySQL80"
Start-Service -Name "MySQL80"
Stop-Service -Name "MySQL80"
Restart-Service -Name "MySQL80"
# Spustit automaticky pri startu
Set-Service -Name "MySQL80" -StartupType AutomaticProcesy
Get-Process # vsechny procesy
Get-Process | Sort-Object CPU -Descending | Select-Object -First 10
Get-Process -Name "java"
Stop-Process -Name "java" -Force
Stop-Process -Id 1234Stop-Process -Force ukončí proces okamžitě, bez uložení dat. U databází a
herních serverů to může poškodit soubory.
Disk a paměť
# Volne misto
Get-PSDrive -PSProvider FileSystem
# Nejvetsi slozky
Get-ChildItem C:\ -Directory |
ForEach-Object {
[PSCustomObject]@{
Nazev = $_.Name
GB = [math]::Round((Get-ChildItem $_.FullName -Recurse -File -ErrorAction SilentlyContinue |
Measure-Object Length -Sum).Sum / 1GB, 2)
}
} | Sort-Object GB -Descending | Select-Object -First 10
# Vyuziti pameti
Get-CimInstance Win32_OperatingSystem |
Select-Object @{n='VolnaRAM_GB';e={[math]::Round($_.FreePhysicalMemory/1MB,2)}}Síť
PowerShell
Get-NetIPAddress -AddressFamily IPv4
Get-NetTCPConnection -State Listen
Test-NetConnection -ComputerName 1.1.1.1 -Port 443
Resolve-DnsName mujweb.czFirewall
# Vypis aktivnich pravidel
Get-NetFirewallRule | Where-Object Enabled -eq 'True' |
Select-Object DisplayName, Direction, Action
# Povoleni portu
New-NetFirewallRule -DisplayName "Minecraft" -Direction Inbound `
-Protocol TCP -LocalPort 25565 -Action Allow
# Omezeni RDP na svou IP
New-NetFirewallRule -DisplayName "RDP" -Direction Inbound `
-Protocol TCP -LocalPort 3389 -RemoteAddress 89.24.1.2 -Action Allow
# Smazani pravidla
Remove-NetFirewallRule -DisplayName "Minecraft"Před omezením RDP na konkrétní IP si otevři druhé RDP okno. Když se překlepneš, přijdeš o přístup a budeš potřebovat VNC konzoli.
Uživatelé
Get-LocalUser
New-LocalUser -Name "vojta" -Password (Read-Host -AsSecureString) -FullName "Vojta"
Add-LocalGroupMember -Group "Administrators" -Member "vojta"
# Zmena hesla
Set-LocalUser -Name "Administrator" -Password (Read-Host -AsSecureString)Události a logy
# Poslednich 20 chyb systemu
Get-WinEvent -LogName System -MaxEvents 20 |
Where-Object LevelDisplayName -eq 'Error'
# Neuspesne prihlaseni (utoky na RDP)
Get-WinEvent -FilterHashtable @{LogName='Security'; ID=4625} -MaxEvents 20Událost 4625 znamená neúspěšné přihlášení. Stovky za hodinu znamenají, že máš RDP otevřené internetu.
Stahování souborů
Invoke-WebRequest -Uri "https://example.com/soubor.zip" -OutFile "C:\temp\soubor.zip"
Expand-Archive -Path "C:\temp\soubor.zip" -DestinationPath "C:\app"Tipy
- Spouštěj PowerShell jako správce, jinak polovina příkazů selže.
Get-Help Get-Service -Examplesukáže příklady použití.- Používej Tab — PowerShell doplňuje i parametry.
Poznámka
Windows Server nemá výchozí SSH. Můžeš ho doinstalovat jako volitelnou funkci, pokud nechceš RDP.