使用PowerShell執行的命令和示例,用於增強Windows系統的安全性巡檢專案:
-
檢查系統服務和程序:
powershellCopy Code# 列出所有正在執行的服務 Get-Service | Where-Object { $_.Status -eq 'Running' } # 列出所有正在執行的程序 Get-Process
-
檢查本地安全策略和組策略:
powershellCopy Code# 檢視本地安全策略 secedit /export /cfg c:\secpol.cfg Get-Content c:\secpol.cfg # 檢視組策略 gpresult /z
-
檢查檔案和資料夾許可權:
powershellCopy Code# 檢查指定檔案或資料夾的許可權 Get-Acl -Path "C:\Path\To\FileOrFolder" # 列出特定目錄中許可權不當的檔案 Get-ChildItem -Path "C:\Path\To\Directory" -Recurse | ForEach-Object { $file = $_ $acl = Get-Acl -Path $file.FullName if ($acl.AreAccessRulesProtected) { Write-Host "Permissions are protected for $($file.FullName)" } elseif ($acl.Access | Where-Object { $_.IdentityReference -notmatch "Administrators|SYSTEM" }) { Write-Host "Insecure permissions found for $($file.FullName)" } }
-
網路安全配置檢查:
powershellCopy Code# 檢視網路介面卡資訊 Get-NetAdapter # 檢視防火牆規則 Get-NetFirewallRule
-
惡意軟體掃描:
powershellCopy Code# 執行Windows Defender掃描 Start-MpScan -ScanType FullScan
-
遠端訪問控制:
powershellCopy Code# 檢視RDP配置 Get-ItemProperty 'HKLM:\System\CurrentControlSet\Control\Terminal Server' -Name fDenyTSConnections # 檢視SSH服務狀態 Get-Service sshd
-
安全審計和監控配置:
powershellCopy Code# 檢視安全日誌 Get-EventLog -LogName Security -Newest 100 # 檢視系統日誌 Get-EventLog -LogName System -Newest 100
-
資料備份和恢復:
powershellCopy Code# 檢視備份計劃 Get-WBSchedule # 檢視Windows備份狀態 Get-WBJob
-
資料加密和保護:
powershellCopy Code# 檢視BitLocker加密狀態 Get-BitLockerVolume # 設定檔案加密 Encrypt-Certificate -FilePath "C:\Path\To\File"
-
安全更新管理:
powershellCopy Code# 檢查Windows更新狀態 Get-WindowsUpdate # 安裝待定的Windows更新 Install-WindowsUpdate -AcceptAll
以下是一些可以用於增強Windows系統安全性巡檢專案的更多PowerShell命令示例:
-
賬戶和密碼策略檢查:
powershellCopy Code# 檢視本地賬戶資訊 Get-LocalUser # 檢視域賬戶資訊(需要域管理員許可權) Get-ADUser -Filter * # 檢視密碼策略 Get-ADDefaultDomainPasswordPolicy
-
審計策略檢查:
powershellCopy Code# 檢視當前審計策略 Get-ItemProperty 'HKLM:\SYSTEM\CurrentControlSet\Control\Lsa' -Name 'Audit\AuditPolicy\* # 檢視高階審計策略 auditpol /get /category:*
-
檢查安全補丁和更新:
powershellCopy Code# 檢視已安裝的更新 Get-HotFix # 檢視未安裝的Windows更新 Get-WindowsUpdate -NotInstalled
-
檢查Windows Defender配置和掃描日誌:
powershellCopy Code# 檢視Windows Defender配置 Get-MpPreference # 檢視Windows Defender掃描日誌 Get-MpScanLog
-
網路安全和埠掃描:
powershellCopy Code# 檢視開放的埠和網路連線 Get-NetTCPConnection # 掃描開放埠 Test-NetConnection -ComputerName "TargetComputer" -Port 80
-
檢查遠端桌面和遠端服務配置:
powershellCopy Code# 檢視遠端桌面配置 Get-ItemProperty 'HKLM:\System\CurrentControlSet\Control\Terminal Server' -Name fDenyTSConnections # 檢視遠端服務狀態 Get-Service TermService
-
檢查本地防火牆配置:
powershellCopy Code# 檢視防火牆配置 Get-NetFirewallProfile # 檢視防火牆規則 Get-NetFirewallRule
-
加密檔案和驅動器:
powershellCopy Code# 加密檔案 Encrypt-Certificate -FilePath "C:\Path\To\File" # 檢視加密狀態 Get-BitLockerVolume
-
檢查系統事件日誌:
powershellCopy Code# 檢視安全事件日誌 Get-EventLog -LogName Security -Newest 100 # 檢視系統事件日誌 Get-EventLog -LogName System -Newest 100
這些命令可以幫助系統管理員執行更詳細和全面的安全性檢查,確保Windows系統在安全方面符合最佳實踐和組織的安全政策要求。
PowerShell命令示例,用於增強Windows系統的安全性巡檢專案:
-
檢查系統硬體和驅動程式安全性:
powershellCopy Code# 檢視已安裝的驅動程式 Get-WmiObject -Class Win32_PnPSignedDriver | Select-Object DeviceName, Manufacturer, DriverVersion # 檢視系統硬體資訊 Get-WmiObject -Class Win32_ComputerSystem
-
檢查定時任務和服務:
powershellCopy Code# 檢視所有定時任務 Get-ScheduledTask # 檢視所有服務 Get-Service
-
檢查檔案系統完整性:
powershellCopy Code# 計算檔案的雜湊值 Get-FileHash -Algorithm MD5 -Path "C:\Path\To\File" # 檢查系統檔案的完整性 sfc /scannow
-
網路安全配置檢查:
powershellCopy Code# 檢視網路介面卡資訊 Get-NetAdapter # 檢視網路配置 Get-NetIPAddress # 檢視DNS配置 Get-DnsClientServerAddress
-
檢查 PowerShell 指令碼和執行策略:
powershellCopy Code# 檢視當前的執行策略 Get-ExecutionPolicy # 檢查未簽名的指令碼 Get-ChildItem -Path "C:\Scripts" -Recurse -Include *.ps1 | Where-Object { $_.IsSigned -eq $false }
-
監控和報警設定:
powershellCopy Code# 檢視系統日誌監控設定 Get-WinEvent -ListLog * # 設定警報策略 Set-WinEvent -FilterHashtable @{LogName='Security'; StartTime=(Get-Date).AddHours(-1)} -MaxEvents 10
-
安全審計和合規性檢查:
powershellCopy Code# 檢視安全審計日誌 Get-WinEvent -LogName Security -MaxEvents 100 # 執行合規性掃描 Invoke-Command -ComputerName "Server01" -ScriptBlock { Get-NetFirewallRule | Where-Object { $_.Enabled -eq $true } }
-
檢查遠端訪問和許可權設定:
powershellCopy Code# 檢視RDP連線記錄 Get-WinEvent -LogName Microsoft-Windows-TerminalServices-LocalSessionManager/Operational | Where-Object { $_.ID -eq 21 } # 檢查遠端許可權 Get-Acl -Path "C:\Path\To\FileOrFolder"
-
檢查系統資源使用和效能:
powershellCopy Code# 檢視系統資源使用情況 Get-Counter -Counter "\Processor(_Total)\% Processor Time" -SampleInterval 5 -MaxSamples 10 # 檢視記憶體使用情況 Get-Counter -Counter "\Memory\Available MBytes" -SampleInterval 5 -MaxSamples 10
這些命令和示例可以幫助系統管理員對Windows系統進行更全面的安全性巡檢和監控,確保系統安全性達到最佳狀態,並符合組織的安全標準和合規要求。
PowerShell 命令示例,用於增強 Windows 系統的安全性巡檢專案:
-
查詢最近修改的檔案:
powershellCopy Code# 查詢最近24小時內修改過的檔案 Get-ChildItem -Path "C:\Path\To\Folder" -Recurse | Where-Object { $_.LastWriteTime -gt (Get-Date).AddHours(-24) }
-
檢查使用者賬戶和許可權:
powershellCopy Code# 檢視本地使用者賬戶 Get-LocalUser # 檢視本地組資訊 Get-LocalGroup # 檢視使用者許可權 whoami /priv
-
監控系統啟動項:
powershellCopy Code# 檢視啟動項 Get-CimInstance -Class Win32_StartupCommand # 檢查登錄檔中的自啟動項 Get-ItemProperty -Path "HKLM:\Software\Microsoft\Windows\CurrentVersion\Run"
-
檢查防火牆設定:
powershellCopy Code# 檢視當前防火牆規則 Get-NetFirewallRule # 檢視防火牆狀態 Get-NetFirewallProfile | Select-Object Name, Enabled
-
遠端管理和訪問控制:
powershellCopy Code# 遠端管理設定 Get-Service WinRM # 檢視遠端桌面設定 Get-WmiObject -Namespace root\CIMV2\TerminalServices -Class Win32_TerminalServiceSetting | Select-Object AllowTSConnections
-
檢查安全更新和補丁:
powershellCopy Code# 檢視已安裝的更新 Get-HotFix # 檢查系統缺失的更新 Get-WindowsUpdate
-
系統備份和恢復策略:
powershellCopy Code# 檢視系統備份情況 Get-WBJob # 設定備份策略 wbadmin start backup -backupTarget:E: -include:C:\Path\To\Data -allCritical -quiet
-
審計和監控使用者活動:
powershellCopy Code# 檢視使用者登入日誌 Get-WinEvent -LogName Security | Where-Object { $_.ID -eq 4624 } # 監控檔案訪問 Get-WinEvent -LogName Security | Where-Object { $_.ID -eq 4663 }
-
安全策略和密碼策略:
powershellCopy Code# 檢視本地安全策略 secedit /export /cfg "C:\path\to\security.cfg" # 檢視密碼策略 Get-LocalSecurityPolicy
這些命令可以幫助管理員全面審查和加強 Windows 系統的安全性,確保系統執行在一個高度安全的環境中,同時能夠滿足組織的合規要求和安全標準。
更多的 PowerShell 命令示例,用於增強 Windows 系統的安全性巡檢專案:
-
檢查遠端桌面配置:
powershellCopy Code# 檢視遠端桌面設定 Get-WmiObject -Namespace root\CIMv2\TerminalServices -Class Win32_TSGeneralSetting | Select-Object AllowTSConnections
-
監控系統服務:
powershellCopy Code# 檢視系統服務狀態 Get-Service # 檢視自動啟動的服務 Get-WmiObject -Class Win32_Service | Where-Object { $_.StartMode -eq "Auto" }
-
檢查本地組策略:
powershellCopy Code# 檢視本地組策略 Get-GPOReport -ReportType HTML -Path "C:\path\to\output.html" # 匯出本地安全策略為 XML Secedit /export /cfg "C:\path\to\security.xml"
-
檢查遠端登錄檔設定:
powershellCopy Code# 連線到遠端登錄檔 $Reg = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey('LocalMachine', 'RemoteComputer') # 檢視指定路徑的登錄檔項 $Reg.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Run").GetValueNames()
-
監控網路流量和連線:
powershellCopy Code# 檢視網路連線狀態 Get-NetTCPConnection # 監控網路介面流量 Get-NetAdapterStatistics
-
審查本地安全事件日誌:
powershellCopy Code# 檢視安全事件日誌 Get-WinEvent -LogName Security -MaxEvents 100 | Where-Object { $_.TimeCreated -gt (Get-Date).AddDays(-1) }
-
檢查密碼策略:
powershellCopy Code# 檢視密碼策略設定 Get-ADDefaultDomainPasswordPolicy # 檢視本地賬戶密碼過期狀態 Get-LocalUser | Select-Object Name, PasswordExpired
-
檢查資料加密和加密檔案系統(EFS):
powershellCopy Code# 檢視 EFS 檔案 Get-ChildItem -Path "C:\Path\To\EncryptedFiles" | Where-Object { $_.Attributes -match "Encrypted" } # 檢視 BitLocker 設定 Get-BitLockerVolume
-
檢查系統日誌和事件訂閱:
powershellCopy Code# 檢視系統日誌 Get-WinEvent -LogName System -MaxEvents 50 # 配置事件訂閱 New-WinEventLog -Name "CustomLog" -LogPath "C:\Path\To\Log"
-
系統安全掃描和漏洞管理:
powershellCopy Code# 執行安全掃描 Invoke-Command -ComputerName "Server01" -ScriptBlock { Test-NetConnection -ComputerName "RemoteServer" -Port 80 } # 檢查系統漏洞 Get-CimInstance -ClassName Win32_QuickFixEngineering
這些命令和示例可以幫助管理員在進行安全性巡檢時全面審查 Windows 系統的各個方面,從而確保系統的安全性和穩定性。
更多的 PowerShell 命令示例,用於增強 Windows 系統的安全性巡檢專案:
-
檢查遠端桌面服務:
powershellCopy Code# 檢查遠端桌面服務狀態 Get-Service -Name TermService # 檢視遠端桌面會話 qwinsta
-
監控檔案系統許可權:
powershellCopy Code# 檢視檔案或目錄的許可權 Get-Acl -Path "C:\Path\To\FileOrFolder" # 檢查目錄是否設定了繼承許可權 Get-Acl -Path "C:\Path\To\Folder" | Format-List -Property AreAccessRulesProtected, AreAuditRulesProtected
-
審查使用者賬戶和組成員:
powershellCopy Code# 檢視本地使用者賬戶 Get-LocalUser # 檢視本地組成員 Get-LocalGroupMember -Group "Administrators"
-
檢查遠端管理和遠端執行策略:
powershellCopy Code# 檢視遠端管理配置 Get-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Terminal Server" -Name "fDenyTSConnections" # 檢視遠端執行策略 Get-Item WSMan:\localhost\Service\AllowRemoteAccess
-
監控計劃任務:
powershellCopy Code# 檢視計劃任務 Get-ScheduledTask # 匯出計劃任務列表 Export-ScheduledTask -TaskName "TaskName" -TaskPath "\Folder" -XmlPath "C:\Path\To\ExportedTask.xml"
-
審查安全更新情況:
powershellCopy Code# 檢視安裝的更新 Get-HotFix # 檢視 Windows Update 設定 Get-WindowsUpdateSetting
-
監控 PowerShell 指令碼執行策略:
powershellCopy Code# 檢視 PowerShell 執行策略 Get-ExecutionPolicy # 設定 PowerShell 執行策略 Set-ExecutionPolicy -ExecutionPolicy Restricted
-
檢查系統儲存裝置和驅動器:
powershellCopy Code# 檢視系統驅動器資訊 Get-WmiObject -Class Win32_DiskDrive | Select-Object Model, Size # 檢視掛載的磁碟卷 Get-Volume
-
審查網路安全設定:
powershellCopy Code# 檢視網路安全設定 Get-NetFirewallProfile # 檢視網路共享狀態 Get-SmbShare
-
檢查本地證書儲存:
powershellCopy Code# 檢視本地計算機證書 Get-ChildItem -Path Cert:\LocalMachine\My # 檢視當前使用者證書 Get-ChildItem -Path Cert:\CurrentUser\My
-
審查 PowerShell 日誌和命令歷史:
powershellCopy Code# 啟用 PowerShell 日誌記錄 Set-ItemProperty -Path "HKLM:\Software\Policies\Microsoft\Windows\PowerShell\ScriptBlockLogging" -Name "EnableScriptBlockLogging" -Value 1 # 檢視最近的 PowerShell 命令歷史 Get-Command | Export-Clixml -Path "C:\Path\To\ExportedCommands.xml"
這些 PowerShell 命令可以幫助管理員深入審查和監控 Windows 系統的各個方面,確保系統安全性和合規性。
增強 Windows 系統安全性巡檢專案介紹更多有用的 PowerShell 命令:
-
審查事件日誌:
powershellCopy Code# 檢視特定事件日誌 Get-EventLog -LogName System -EntryType Error # 檢視最近的安全事件 Get-EventLog -LogName Security -Newest 50
-
檢查開放的網路埠:
powershellCopy Code# 檢視當前網路連線和監聽埠 Get-NetTCPConnection # 檢視開放的埠 Test-NetConnection -ComputerName "localhost" -Port 80
-
審查本地策略設定:
powershellCopy Code# 檢視本地安全策略 secedit /export /cfg "C:\Path\To\SecurityPolicy.cfg" # 檢視使用者帳戶控制設定 Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" -Name "EnableLUA"
-
監控系統服務狀態:
powershellCopy Code# 檢視所有服務狀態 Get-Service # 檢視特定服務詳細資訊 Get-Service -Name WinRM | Select-Object -Property *
-
審查遠端桌面設定:
powershellCopy Code# 檢視遠端桌面配置 Get-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Terminal Server" -Name "fAllowToGetHelp" # 檢視遠端桌面服務監聽設定 Get-NetFirewallRule -DisplayName "Remote Desktop*" | Select-Object -Property DisplayName, Enabled
-
檢查系統執行日誌:
powershellCopy Code# 檢視系統執行時間 Get-CimInstance -ClassName Win32_OperatingSystem | Select-Object -Property LastBootUpTime # 匯出系統事件日誌 Get-WinEvent -LogName System -MaxEvents 100 | Export-Csv -Path "C:\Path\To\SystemEvents.csv"
-
審查遠端訪問策略:
powershellCopy Code# 檢視遠端管理設定 Get-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" -Name "fAllowTSConnections" # 檢視遠端 PowerShell 訪問設定 Get-PSSessionConfiguration | Select-Object -Property Name, Permission
-
監控使用者登入活動:
powershellCopy Code# 檢視最近的使用者登入事件 Get-WinEvent -LogName Security | Where-Object {$_.ID -eq 4624} | Select-Object -Property TimeCreated, Message # 匯出登入事件日誌 Get-WinEvent -LogName Security -FilterXPath "*[System[EventID=4624]]" | Export-Csv -Path "C:\Path\To\LoginEvents.csv"
-
審查加密設定:
powershellCopy Code# 檢視 BitLocker 加密狀態 Get-BitLockerVolume # 檢視加密演算法配置 Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL" -Name "Functions"
-
檢查系統硬體和驅動器健康:
powershellCopy Code# 檢視硬體資訊 Get-WmiObject -Class Win32_BaseBoard | Select-Object -Property Manufacturer, Product # 檢查驅動器健康狀態 Get-PhysicalDisk | Select-Object -Property DeviceID, MediaType, OperationalStatus
-
審查 PowerShell 模組和外掛:
powershellCopy Code# 檢視已安裝的 PowerShell 模組 Get-Module -ListAvailable # 檢視當前的 PowerShell 外掛 Get-Command -Module Microsoft.PowerShell.Core
這些命令涵蓋了 Windows 系統安全性巡檢的多個方面,幫助管理員全面監控和管理系統的安全狀態。
提供更多有關增強 Windows 系統安全性的 PowerShell 命令:
-
審查計劃任務:
powershellCopy Code# 檢視當前計劃任務 Get-ScheduledTask # 匯出計劃任務列表 Export-ScheduledTask -TaskName "TaskName" -FilePath "C:\Path\To\TaskExport.xml"
-
監控防火牆規則:
powershellCopy Code# 檢視防火牆規則 Get-NetFirewallRule # 檢視特定應用程式的防火牆規則 Get-NetFirewallApplicationFilter -Program "C:\Path\To\Application.exe"
-
審查本地賬戶和組:
powershellCopy Code# 檢視本地賬戶 Get-LocalUser # 檢視本地組 Get-LocalGroup
-
檢查檔案系統許可權:
powershellCopy Code# 檢視特定檔案或目錄的許可權 Get-Acl -Path "C:\Path\To\FileOrDirectory" # 檢查資料夾的繼承許可權 Get-Acl -Path "C:\Path\To\Folder" | Format-List
-
審查安全更新情況:
powershellCopy Code# 檢視已安裝的安全更新 Get-HotFix # 檢視安全更新配置 Get-WindowsUpdateSetting
-
監控系統資源使用情況:
powershellCopy Code# 檢視系統程序 Get-Process # 監控系統資源利用率 Get-Counter -Counter "\Processor(_Total)\% Processor Time" -SampleInterval 2 -MaxSamples 10
-
審查遠端管理設定:
powershellCopy Code# 檢視遠端 PowerShell 執行策略 Get-ExecutionPolicy # 設定遠端管理的連線配置 Set-WSManQuickConfig -Force
-
檢查安全身份驗證設定:
powershellCopy Code# 檢視 PowerShell Web 服務的身份驗證設定 Get-WSManInstance -ResourceURI "http://schemas.microsoft.com/powershell/Microsoft.PowerShell" # 檢視 IIS 身份驗證方法 Get-WebConfigurationProperty -PSPath 'IIS:\Sites\Default Web Site' -Filter system.webServer/security/authentication/* -Name enabled
-
審查日誌記錄設定:
powershellCopy Code# 檢視 Windows 日誌記錄策略 Get-EventLog -List # 檢視 Windows 日誌最大儲存大小 Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\EventLog\System" -Name "MaxSize"
-
監控安全警報:
powershellCopy Code# 檢視安全事件警報 Get-WinEvent -LogName Security -MaxEvents 20 # 匯出安全事件日誌 Get-WinEvent -LogName Security -FilterXPath "*[System[EventID=4624]]" | Export-Csv -Path "C:\Path\To\SecurityEvents.csv"
這些 PowerShell 命令和技巧可以幫助您深入審查和增強 Windows 系統的安全性,確保系統能夠有效地抵禦潛在的安全威脅和風險。
提供更多關於增強 Windows 系統安全性的 PowerShell 命令:
-
檢查服務狀態和配置:
powershellCopy Code# 檢視所有服務 Get-Service # 檢視特定服務的詳細資訊 Get-Service -Name "ServiceName" # 檢查服務啟動型別 Get-Service | Select-Object -Property Name, DisplayName, StartType
-
審查本地安全策略:
powershellCopy Code# 檢視本地安全策略 secedit /export /cfg "C:\Path\To\SecurityPolicy.cfg" # 檢視帳戶策略設定 secedit /export /areas USER_RIGHTS /cfg "C:\Path\To\UserRights.cfg"
-
監控登入事件:
powershellCopy Code# 檢視最近的登入事件 Get-WinEvent -FilterHashtable @{LogName='Security'; ID=4624} -MaxEvents 10 | Format-List # 匯出登入事件日誌 Get-WinEvent -FilterHashtable @{LogName='Security'; ID=4624} -MaxEvents 100 | Export-Csv -Path "C:\Path\To\LoginEvents.csv"
-
設定強密碼策略:
powershellCopy Code# 檢視當前密碼策略 Get-ADDefaultDomainPasswordPolicy # 設定新的密碼策略 New-ADFineGrainedPasswordPolicy -Name "StrongPasswordPolicy" -Precedence 1 -ComplexityEnabled $true -MinPasswordLength 10 -MinPasswordAge "1.00:00:00" -PasswordHistoryCount 5
-
審查遠端桌面連線配置:
powershellCopy Code# 檢視遠端桌面設定 Get-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server' -Name fDenyTSConnections # 設定允許遠端桌面連線 Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server' -Name fDenyTSConnections -Value 0
-
檢查啟動項:
powershellCopy Code# 檢視啟動項 Get-CimInstance -ClassName Win32_StartupCommand # 禁用不必要的啟動項 Disable-CimInstance -ClassName Win32_StartupCommand -Filter "Name='ProgramName'"
-
審查使用者會話和許可權:
powershellCopy Code# 檢視當前使用者會話 Get-CimInstance -ClassName Win32_LogonSession # 檢視特定使用者的許可權 Get-LocalUser -Name "Username" | Select-Object -ExpandProperty UserRights
-
檢查加密設定:
powershellCopy Code# 檢視加密提供程式 Get-EncryptionProvider # 檢視 BitLocker 驅動器加密狀態 Get-BitLockerVolume
-
審查 PowerShell 指令碼執行策略:
powershellCopy Code# 檢視當前 PowerShell 指令碼執行策略 Get-ExecutionPolicy # 設定新的 PowerShell 指令碼執行策略 Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
這些命令和技巧可以幫助您進一步加強 Windows 系統的安全性,並確保系統在面對安全威脅時能夠有所準備和保護。
提供更多關於增強 Windows 系統安全性的 PowerShell 命令:
-
監控檔案系統更改:
powershellCopy Code# 監控指定路徑的檔案更改 Get-WinEvent -FilterHashtable @{LogName='Security'; ID=4663; Path='C:\Path\To\Monitor'} | Format-List # 匯出檔案更改事件日誌 Get-WinEvent -FilterHashtable @{LogName='Security'; ID=4663; Path='C:\Path\To\Monitor'} | Export-Csv -Path "C:\Path\To\FileChanges.csv"
-
審查網路連線和埠狀態:
powershellCopy Code# 檢視當前網路連線 Get-NetTCPConnection # 檢視埠狀態 Get-NetFirewallPortFilter | Where-Object {$_.LocalPort -eq 80}
-
設定 Windows 防火牆規則:
powershellCopy Code# 檢視當前防火牆規則 Get-NetFirewallRule # 建立新的防火牆規則允許特定埠 New-NetFirewallRule -DisplayName "Allow Port 443" -Direction Inbound -Protocol TCP -LocalPort 443 -Action Allow
-
配置 Windows Defender 設定:
powershellCopy Code# 檢視 Windows Defender 設定 Get-MpPreference # 更新 Windows Defender 病毒定義 Update-MpSignature
-
審查系統程序和服務:
powershellCopy Code# 檢視執行中的程序 Get-Process # 檢視特定服務的詳細資訊 Get-Service -Name "ServiceName"
-
設定事件日誌和審計策略:
powershellCopy Code# 檢視當前事件日誌策略 Get-WinEvent -ListLog * # 設定新的事件日誌審計策略 wevtutil sl Security /ca:true /c:3
-
配置遠端管理:
powershellCopy Code# 啟用遠端 PowerShell Enable-PSRemoting -Force # 設定允許的遠端連線 Set-Item WSMan:\localhost\Client\TrustedHosts -Value "ServerName"
-
審查系統安全補丁和更新:
powershellCopy Code# 檢視安裝的補丁 Get-HotFix # 安裝特定的 Windows 更新 Install-WindowsUpdate -KBArticleID KB123456
-
配置賬戶策略和登入限制:
powershellCopy Code# 檢視賬戶策略設定 Get-LocalUser | Format-List # 設定新的賬戶登入限制 Set-LocalUser -Name "Username" -PasswordNeverExpires $true
-
監控系統效能和資源使用:
powershellCopy Code# 檢視系統效能計數器 Get-Counter -ListSet * # 監控系統資源使用情況 Get-Process | Sort-Object -Property CPU -Descending | Select-Object -First 10
這些命令涵蓋了多個方面,從檔案系統監控到網路安全設定,都有助於提升 Windows 系統的整體安全性和管理能力。
更多關於增強 Windows 系統安全性的 PowerShell 命令:
-
監控賬戶活動和安全事件:
powershellCopy Code# 檢視賬戶登入事件 Get-WinEvent -FilterHashtable @{LogName='Security'; ID=4624} | Format-List # 匯出賬戶登入事件日誌 Get-WinEvent -FilterHashtable @{LogName='Security'; ID=4624} | Export-Csv -Path "C:\Path\To\AccountLogins.csv"
-
配置密碼策略:
powershellCopy Code# 檢視當前密碼策略 Get-ADDefaultDomainPasswordPolicy # 設定新的密碼策略 Set-ADDefaultDomainPasswordPolicy -MaxPasswordAge "30.00:00:00" -MinPasswordLength 10 -ComplexityEnabled $true
-
監控和處理安全漏洞:
powershellCopy Code# 檢查已安裝的程式漏洞 Get-CimInstance -Namespace root/SecurityCenter2 -ClassName AntiSpywareProduct # 處理已知的安全漏洞 Invoke-CimMethod -Namespace root/SecurityCenter2 -ClassName AntiSpywareProduct -MethodName RemoveSpyware
-
備份和恢復關鍵系統設定:
powershellCopy Code# 備份登錄檔項 Export-Registry -Path "HKLM\Software\MyApp" -LiteralPath "C:\Path\To\Backup.reg" # 恢復登錄檔項 Import-Registry -Path "C:\Path\To\Backup.reg"
-
配置和管理系統服務:
powershellCopy Code# 啟動特定服務 Start-Service -Name "ServiceName" # 停止特定服務 Stop-Service -Name "ServiceName"
-
設定和管理本地安全策略:
powershellCopy Code# 檢視當前本地安全策略 secedit /export /cfg "C:\Path\To\SecuritySettings.cfg" # 匯入新的本地安全策略 secedit /import /cfg "C:\Path\To\SecuritySettings.cfg"
-
配置和監控 BitLocker 加密:
powershellCopy Code# 檢視當前 BitLocker 加密狀態 Get-BitLockerVolume # 解鎖 BitLocker 加密的卷 Unlock-BitLocker -MountPoint "C:"
-
審查和處理系統日誌:
powershellCopy Code# 檢視系統日誌 Get-WinEvent -LogName System -MaxEvents 10 # 清除特定事件日誌 Clear-EventLog -LogName Application
-
監控和限制 PowerShell 指令碼執行:
powershellCopy Code# 檢視當前 PowerShell 執行策略 Get-ExecutionPolicy # 設定新的 PowerShell 執行策略 Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
-
檢查和清除惡意軟體:
powershellCopy Code# 掃描計算機以查詢惡意軟體 Start-MpScan -ScanType QuickScan # 清除發現的惡意軟體 Remove-MpThreat -ThreatID "12345"
-
配置和監控使用者訪問許可權:
powershellCopy Code# 檢視指定資料夾的許可權設定 Get-Acl -Path "C:\Path\To\Folder" # 設定新的資料夾訪問許可權 Set-Acl -Path "C:\Path\To\Folder" -AclObject $newAcl
-
監控系統時間同步和時鐘設定:
```powershell
# 檢視當前時間同步狀態
w32tm /query /status
# 更新系統時鐘
w32tm /resync
```
這些命令覆蓋了多個關鍵領域,幫助您加強 Windows 系統的安全性、管理和監控能力。
更多關於增強 Windows 系統安全性的 PowerShell 命令:
- 設定和管理防火牆規則:
```powershell
# 檢視當前防火牆規則
Get-NetFirewallRule
# 建立新的防火牆規則
New-NetFirewallRule -DisplayName "Allow HTTP" -Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow
```
- 監控和管理網路連線:
```powershell
# 檢視當前網路連線
Get-NetTCPConnection
# 斷開特定的網路連線
Get-NetTCPConnection -LocalPort 80 | Remove-NetTCPConnection
```
- 配置和監控遠端桌面服務:
```powershell
# 檢視遠端桌面服務配置
Get-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Terminal Server"
# 啟用遠端桌面服務
Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Terminal Server" -Name "fDenyTSConnections" -Value 0
```
- 設定和管理組策略:
```powershell
# 檢視當前組策略設定
Get-GPO -All
# 建立新的組策略物件
New-GPO -Name "CustomSecuritySettings"
```
- 配置和管理 Windows Defender 防病毒:
```powershell
# 檢視 Windows Defender 防病毒設定
Get-MpPreference
# 更新 Windows Defender 病毒定義
Update-MpSignature
```
- 監控和處理系統服務狀態:
```powershell
# 檢視系統服務狀態
Get-Service
# 重啟特定服務
Restart-Service -Name "ServiceName"
```
- 配置和監控域控制器設定:
```powershell
# 檢視當前域控制器設定
Get-ADDomainController -Filter *
# 啟用域控制器的身份驗證策略
Set-ADDomainController -Identity "DC01" -AllowPasswordRecovery $true
```
- 審計和處理檔案系統更改:
```powershell
# 啟用檔案系統更改審計
Set-AuditRule -Path "C:\Path\To\Folder" -Audit @{Action='All'; Principal='Everyone'; Rights='FullControl'}
# 檢視檔案系統審計日誌
Get-WinEvent -FilterHashtable @{LogName='Security'; ID=4663}
```
- 監控和處理遠端 PowerShell 連線:
```powershell
# 檢視遠端 PowerShell 會話
Get-PSSession
# 關閉遠端 PowerShell 會話
Remove-PSSession -Session $session
```
- 配置和監控系統資源使用情況:
```powershell
# 檢視系統資源使用情況
Get-Counter -Counter "\Processor(_Total)\% Processor Time" -SampleInterval 2 -MaxSamples 10
# 監控記憶體使用情況
Get-Counter -Counter "\Memory\Available MBytes" -SampleInterval 5 -MaxSamples 6
```
這些命令涵蓋了 Windows 系統安全性的更多方面,從網路安全到檔案系統管理再到系統資源監控,希望這些能幫助您更好地保護和管理您的系統。