Add PowerShell_SysAdmin_Command_Gui.md
This commit is contained in:
298
PowerShell_SysAdmin_Command_Gui.md
Normal file
298
PowerShell_SysAdmin_Command_Gui.md
Normal file
@@ -0,0 +1,298 @@
|
||||
# Windows PowerShell SysAdmin Command Guide
|
||||
|
||||
A focused command reference for **Windows System Administrators**
|
||||
performing real operational work: remote management, troubleshooting,
|
||||
file transfer, services, networking, and automation.
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
||||
# Table of Contents
|
||||
|
||||
1. Remote Management
|
||||
2. Copying Files to Remote Systems
|
||||
3. Remote Command Execution
|
||||
4. Remote Troubleshooting
|
||||
5. Service Management
|
||||
6. Process Management
|
||||
7. Event Log Investigation
|
||||
8. Network Troubleshooting
|
||||
9. Disk and Storage
|
||||
10. Active Directory Basics
|
||||
11. Performance Troubleshooting
|
||||
12. Useful One‑Liners
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
||||
# 1. Remote Management
|
||||
|
||||
## Enable PowerShell Remoting
|
||||
|
||||
Run on the target machine once:
|
||||
|
||||
``` powershell
|
||||
Enable-PSRemoting -Force
|
||||
```
|
||||
|
||||
## Connect to a remote system
|
||||
|
||||
``` powershell
|
||||
Enter-PSSession -ComputerName SERVER01
|
||||
```
|
||||
|
||||
Exit session:
|
||||
|
||||
``` powershell
|
||||
Exit-PSSession
|
||||
```
|
||||
|
||||
## Run command on remote system
|
||||
|
||||
``` powershell
|
||||
Invoke-Command -ComputerName SERVER01 -ScriptBlock { Get-Service }
|
||||
```
|
||||
|
||||
Multiple servers:
|
||||
|
||||
``` powershell
|
||||
Invoke-Command -ComputerName SERVER01,SERVER02 -ScriptBlock { hostname }
|
||||
```
|
||||
|
||||
## Run script remotely
|
||||
|
||||
``` powershell
|
||||
Invoke-Command -ComputerName SERVER01 -FilePath C:\Scripts\patch.ps1
|
||||
```
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
||||
# 2. Copy Files to Remote Systems
|
||||
|
||||
## Copy file to remote system
|
||||
|
||||
``` powershell
|
||||
Copy-Item file.txt -Destination \\SERVER01\C$\Temp
|
||||
```
|
||||
|
||||
## Copy file using PowerShell session
|
||||
|
||||
``` powershell
|
||||
$s = New-PSSession SERVER01
|
||||
Copy-Item file.txt -Destination C:\Temp -ToSession $s
|
||||
```
|
||||
|
||||
## Copy file from remote computer
|
||||
|
||||
``` powershell
|
||||
Copy-Item C:\Temp\log.txt -FromSession $s -Destination C:\Logs
|
||||
```
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
||||
# 3. Remote Command Execution
|
||||
|
||||
## Restart remote computer
|
||||
|
||||
``` powershell
|
||||
Restart-Computer SERVER01 -Force
|
||||
```
|
||||
|
||||
## Shutdown remote system
|
||||
|
||||
``` powershell
|
||||
Stop-Computer SERVER01
|
||||
```
|
||||
|
||||
## Check uptime
|
||||
|
||||
``` powershell
|
||||
Get-CimInstance Win32_OperatingSystem -ComputerName SERVER01 |
|
||||
Select LastBootUpTime
|
||||
```
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
||||
# 4. Remote Troubleshooting
|
||||
|
||||
## Check services remotely
|
||||
|
||||
``` powershell
|
||||
Get-Service -ComputerName SERVER01
|
||||
```
|
||||
|
||||
## Check processes remotely
|
||||
|
||||
``` powershell
|
||||
Get-Process -ComputerName SERVER01
|
||||
```
|
||||
|
||||
## Check disk space
|
||||
|
||||
``` powershell
|
||||
Get-CimInstance Win32_LogicalDisk -ComputerName SERVER01 |
|
||||
Select DeviceID,FreeSpace,Size
|
||||
```
|
||||
|
||||
## Check installed updates
|
||||
|
||||
``` powershell
|
||||
Get-HotFix -ComputerName SERVER01
|
||||
```
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
||||
# 5. Service Management
|
||||
|
||||
``` powershell
|
||||
Get-Service
|
||||
Start-Service spooler
|
||||
Stop-Service spooler
|
||||
Restart-Service spooler
|
||||
```
|
||||
|
||||
Remote service:
|
||||
|
||||
``` powershell
|
||||
Get-Service -ComputerName SERVER01 -Name spooler
|
||||
```
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
||||
# 6. Process Management
|
||||
|
||||
``` powershell
|
||||
Get-Process
|
||||
Get-Process chrome
|
||||
Stop-Process -Name chrome -Force
|
||||
```
|
||||
|
||||
Remote process kill:
|
||||
|
||||
``` powershell
|
||||
Invoke-Command -ComputerName SERVER01 -ScriptBlock { Stop-Process -Name notepad }
|
||||
```
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
||||
# 7. Event Log Investigation
|
||||
|
||||
Recent errors:
|
||||
|
||||
``` powershell
|
||||
Get-WinEvent -LogName System -MaxEvents 50
|
||||
```
|
||||
|
||||
Remote event logs:
|
||||
|
||||
``` powershell
|
||||
Get-WinEvent -ComputerName SERVER01 -LogName System -MaxEvents 20
|
||||
```
|
||||
|
||||
Find service failures:
|
||||
|
||||
``` powershell
|
||||
Get-WinEvent -FilterHashtable @{
|
||||
LogName='System'
|
||||
Level=2
|
||||
}
|
||||
```
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
||||
# 8. Network Troubleshooting
|
||||
|
||||
``` powershell
|
||||
Test-Connection SERVER01
|
||||
Test-NetConnection SERVER01 -Port 3389
|
||||
Resolve-DnsName server01.domain.com
|
||||
Get-NetTCPConnection -State Listen
|
||||
```
|
||||
|
||||
Check network adapters:
|
||||
|
||||
``` powershell
|
||||
Get-NetAdapter
|
||||
```
|
||||
|
||||
Check DNS servers:
|
||||
|
||||
``` powershell
|
||||
Get-DnsClientServerAddress
|
||||
```
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
||||
# 9. Disk and Storage
|
||||
|
||||
``` powershell
|
||||
Get-Disk
|
||||
Get-Volume
|
||||
Get-Partition
|
||||
```
|
||||
|
||||
Find large files:
|
||||
|
||||
``` powershell
|
||||
Get-ChildItem C:\ -Recurse -ErrorAction SilentlyContinue |
|
||||
Sort Length -Descending |
|
||||
Select -First 20
|
||||
```
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
||||
# 10. Active Directory Basics
|
||||
|
||||
Find computer:
|
||||
|
||||
``` powershell
|
||||
Get-ADComputer SERVER01
|
||||
```
|
||||
|
||||
Find user:
|
||||
|
||||
``` powershell
|
||||
Get-ADUser jsmith
|
||||
```
|
||||
|
||||
List computers in OU:
|
||||
|
||||
``` powershell
|
||||
Get-ADComputer -SearchBase "OU=Servers,DC=domain,DC=com" -Filter *
|
||||
```
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
||||
# 11. Performance Troubleshooting
|
||||
|
||||
Top CPU processes:
|
||||
|
||||
``` powershell
|
||||
Get-Process | Sort CPU -Descending | Select -First 10
|
||||
```
|
||||
|
||||
Memory usage:
|
||||
|
||||
``` powershell
|
||||
Get-Process | Sort WS -Descending | Select -First 10
|
||||
```
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
||||
# 12. Useful One‑Liners
|
||||
|
||||
Find stopped automatic services:
|
||||
|
||||
``` powershell
|
||||
Get-Service | Where {$_.StartType -eq 'Automatic' -and $_.Status -ne 'Running'}
|
||||
```
|
||||
|
||||
Find largest folders:
|
||||
|
||||
``` powershell
|
||||
Get-ChildItem C:\ -Directory | Sort Length -Descending
|
||||
```
|
||||
|
||||
Check listening ports:
|
||||
|
||||
``` powershell
|
||||
Get-NetTCPConnection -State Listen
|
||||
```
|
||||
Reference in New Issue
Block a user