雖然Windows 的PowerShell跟Linux/FreeBSD/Unix比較起來指令真是又臭又長,但在大量佈署或管理時,卻又是一個不可缺少的工具,真是令小編又愛又恨阿,本篇文章單純是小編的指令雜記,避免自己的金魚腦忘了。
01、查詢網路卡資訊/設定網路卡IP
指令語法:
Get-NetAdapter
選要顯示的欄位指令語法:
Get-NetAdapter | select name,status,linkSpeed,ifIndex
指定網路卡 ifIndex 設定網路卡IP指令語法:
New-NetIPAddress -InterfaceIndex 20 -IPAddress 192.168.0.1 Set-NetIPAddress -InterfaceIndex 20 -IPAddress 192.168.0.1 -PrefixLength 24
移除IP指令語法:
Get-NetIPAddress -IPAddress 192.168.0.1 | Remove-NetIPAddress
指定網路卡 ifIndex 設定路由(Route)IP指令語法:
New-NetRoute -DestinationPrefix "0.0.0.0/0" -InterfaceIndex 20 -NextHop 192.168.0.254
查詢網路卡 ifIndex路由(Route)語法:
Get-NetRoute -InterfaceIndex 20 | select ifIndex,DestinationPrefix,NextHop
移除路由(Route)指令語法:
Remove-NetRoute -NextHop "192.168.0.254"
查看網路卡流量狀態語法:
Get-NetAdapterStatistics -Name "vEthernet (vmsync)"
02、關閉/開啟Windows防火牆
關閉防火牆指令語法:
netsh advfirewall set allprofiles state off
開啟防火牆指令語法:
netsh advfirewall set allprofiles state on
開啟[網域網路]、[私人網路]、[公用網路]防火牆指令語法:
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled True
03、變更網路卡名稱
指令語法:
Rename-NetAdapter "網路卡原有名稱" -NewName "網路卡新的名稱"
範例語法:
Rename-NetAdapter "SLOT 7 連接埠 2" -NewName "nas"
透過ifIndex代號來變更網路卡名稱:
範例語法:
Get-NetAdapter -ifIndex 12 | Rename-NetAdapter -NewName "vmsync02"
04、停用網路卡
指令語法:
Disable-NetAdapter -Name "網路卡名稱" -Confirm:$false
範例指令語法:
Disable-NetAdapter -Name "Integrated NIC 1 Port 3-1" -Confirm:$false
05、啟動Hyper-V功能
Server Core模式Hyper-V服務安裝指令語法:
Install-WindowsFeature -Name Hyper-V -IncludeAllSubFeature -Restart
Server Core模式Hyper-V管理工具指令語法:
Install-WindowsFeature -Name Hyper-V -IncludeManagementTools
一般圖形化介面Windows 指令語法:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
06、Hyper-V建立NIC LACP
※SET(Switch Embedded Teaming)模式
※適用Windows 2016/2019/2022
指令語法:
New-VMSwitch -Name uplink -NetAdapterName uplink01,uplink02 -EnableEmbeddedTeaming $true
07、變更「電源選項」
查詢「目前電源選項狀態」指令語法:
powercfg.exe /list
變更「電源選項為高效能」指令語法:
powercfg.exe /setactive 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c
08、移除SMB v1伺服器功能
指令語法:
Remove-WindowsFeature -Name FS-SMB1
09、憑證相關指令
查詢「本機個人」憑證指令語法:
Get-ChildItem -Path Cert:\LocalMachine\MY
刪除「本機個人」憑證指令語法:
Get-ChildItem -Path Cert:\LocalMachine\MY
Get-ChildItem Cert:\LocalMachine\My\7404C50EDDD80391DDCFAB3D69442D27EAA50A5A | Remove-Item
Get-ChildItem -Path Cert:\LocalMachine\MY
匯入憑證至「本機個人」指令語法:
Set-Location -Path Cert:\LocalMachine\MY Import-PfxCertificate -FilePath C:\cert\hyper-v\hyper-v.pfx
10、停用administrator帳號
指令語法:
Disable-LocalUser -Name "Administrator"
11、匯出/匯入Windows防火牆規則
匯出語法:
netsh advfirewall export "C:\winfw-policy.wfw"
匯入語法:
netsh advfirewall import "C:\winfw-policy.wfw"
12、取得硬碟資訊
語法:
get-disk
13、設定硬碟離線(offline)/連線(online)
設定編號0硬碟離線語法:
Set-Disk -Number 0 -IsOffline $True
設定編號0硬碟連線語法:
Set-Disk -Number 0 -IsOffline $False
14、清除硬碟設定
清除編號0硬碟連線語法:
Clear-Disk -Number 0 -RemoveData
15、初始化硬碟
初始化編號0硬碟連線語法:
Initialize-Disk -Number 0
16、啟用/關閉 SMB2/3 協定
查詢目前SMB2/3 協定狀態語法:
Get-SmbServerConfiguration | Select EnableSMB2Protocol
關閉SMB2/3 協定語法:
Set-SmbServerConfiguration -EnableSMB2Protocol $false
啟用SMB2/3 協定語法:
Set-SmbServerConfiguration -EnableSMB2Protocol $true
17、Server Core編輯文字檔
指令語法:
notepad.exe "$env:windir\system32\drivers\etc\hosts"
18、關閉虛擬機複寫憑證檢查
指令語法:
New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization\Replication" -Name "DisableCertRevocationCheck" -Value 1 -PropertyType DWORD -Force
19、移除Windows Defender
指令語法:
Uninstall-WindowsFeature -Name Windows-Defender