使用PowerShell執行的命令和示例,用於增強Windows系統的安全性巡檢專案:2024

suv789發表於2024-06-30

使用PowerShell執行的命令和示例,用於增強Windows系統的安全性巡檢專案:

  1. 檢查系統服務和程序

    powershellCopy Code
    # 列出所有正在執行的服務
    Get-Service | Where-Object { $_.Status -eq 'Running' }
    
    # 列出所有正在執行的程序
    Get-Process
  2. 檢查本地安全策略和組策略

    powershellCopy Code
    # 檢視本地安全策略
    secedit /export /cfg c:\secpol.cfg
    Get-Content c:\secpol.cfg
    
    # 檢視組策略
    gpresult /z
  3. 檢查檔案和資料夾許可權

    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)"
        }
    }
  4. 網路安全配置檢查

    powershellCopy Code
    # 檢視網路介面卡資訊
    Get-NetAdapter
    
    # 檢視防火牆規則
    Get-NetFirewallRule
  5. 惡意軟體掃描

    powershellCopy Code
    # 執行Windows Defender掃描
    Start-MpScan -ScanType FullScan
  6. 遠端訪問控制

    powershellCopy Code
    # 檢視RDP配置
    Get-ItemProperty 'HKLM:\System\CurrentControlSet\Control\Terminal Server' -Name fDenyTSConnections
    
    # 檢視SSH服務狀態
    Get-Service sshd
  7. 安全審計和監控配置

    powershellCopy Code
    # 檢視安全日誌
    Get-EventLog -LogName Security -Newest 100
    
    # 檢視系統日誌
    Get-EventLog -LogName System -Newest 100
  8. 資料備份和恢復

    powershellCopy Code
    # 檢視備份計劃
    Get-WBSchedule
    
    # 檢視Windows備份狀態
    Get-WBJob
  9. 資料加密和保護

    powershellCopy Code
    # 檢視BitLocker加密狀態
    Get-BitLockerVolume
    
    # 設定檔案加密
    Encrypt-Certificate -FilePath "C:\Path\To\File"
  10. 安全更新管理

    powershellCopy Code
    # 檢查Windows更新狀態
    Get-WindowsUpdate
    
    # 安裝待定的Windows更新
    Install-WindowsUpdate -AcceptAll

以下是一些可以用於增強Windows系統安全性巡檢專案的更多PowerShell命令示例:

  1. 賬戶和密碼策略檢查

    powershellCopy Code
    # 檢視本地賬戶資訊
    Get-LocalUser
    
    # 檢視域賬戶資訊(需要域管理員許可權)
    Get-ADUser -Filter *
    
    # 檢視密碼策略
    Get-ADDefaultDomainPasswordPolicy
  2. 審計策略檢查

    powershellCopy Code
    # 檢視當前審計策略
    Get-ItemProperty 'HKLM:\SYSTEM\CurrentControlSet\Control\Lsa' -Name 'Audit\AuditPolicy\*
    
    # 檢視高階審計策略
    auditpol /get /category:*
    
  3. 檢查安全補丁和更新

    powershellCopy Code
    # 檢視已安裝的更新
    Get-HotFix
    
    # 檢視未安裝的Windows更新
    Get-WindowsUpdate -NotInstalled
  4. 檢查Windows Defender配置和掃描日誌

    powershellCopy Code
    # 檢視Windows Defender配置
    Get-MpPreference
    
    # 檢視Windows Defender掃描日誌
    Get-MpScanLog
  5. 網路安全和埠掃描

    powershellCopy Code
    # 檢視開放的埠和網路連線
    Get-NetTCPConnection
    
    # 掃描開放埠
    Test-NetConnection -ComputerName "TargetComputer" -Port 80
  6. 檢查遠端桌面和遠端服務配置

    powershellCopy Code
    # 檢視遠端桌面配置
    Get-ItemProperty 'HKLM:\System\CurrentControlSet\Control\Terminal Server' -Name fDenyTSConnections
    
    # 檢視遠端服務狀態
    Get-Service TermService
  7. 檢查本地防火牆配置

    powershellCopy Code
    # 檢視防火牆配置
    Get-NetFirewallProfile
    
    # 檢視防火牆規則
    Get-NetFirewallRule
  8. 加密檔案和驅動器

    powershellCopy Code
    # 加密檔案
    Encrypt-Certificate -FilePath "C:\Path\To\File"
    
    # 檢視加密狀態
    Get-BitLockerVolume
  9. 檢查系統事件日誌

    powershellCopy Code
    # 檢視安全事件日誌
    Get-EventLog -LogName Security -Newest 100
    
    # 檢視系統事件日誌
    Get-EventLog -LogName System -Newest 100

這些命令可以幫助系統管理員執行更詳細和全面的安全性檢查,確保Windows系統在安全方面符合最佳實踐和組織的安全政策要求。

PowerShell命令示例,用於增強Windows系統的安全性巡檢專案:

  1. 檢查系統硬體和驅動程式安全性

    powershellCopy Code
    # 檢視已安裝的驅動程式
    Get-WmiObject -Class Win32_PnPSignedDriver | Select-Object DeviceName, Manufacturer, DriverVersion
    
    # 檢視系統硬體資訊
    Get-WmiObject -Class Win32_ComputerSystem
  2. 檢查定時任務和服務

    powershellCopy Code
    # 檢視所有定時任務
    Get-ScheduledTask
    
    # 檢視所有服務
    Get-Service
  3. 檢查檔案系統完整性

    powershellCopy Code
    # 計算檔案的雜湊值
    Get-FileHash -Algorithm MD5 -Path "C:\Path\To\File"
    
    # 檢查系統檔案的完整性
    sfc /scannow
  4. 網路安全配置檢查

    powershellCopy Code
    # 檢視網路介面卡資訊
    Get-NetAdapter
    
    # 檢視網路配置
    Get-NetIPAddress
    
    # 檢視DNS配置
    Get-DnsClientServerAddress
  5. 檢查 PowerShell 指令碼和執行策略

    powershellCopy Code
    # 檢視當前的執行策略
    Get-ExecutionPolicy
    
    # 檢查未簽名的指令碼
    Get-ChildItem -Path "C:\Scripts" -Recurse -Include *.ps1 | Where-Object { $_.IsSigned -eq $false }
  6. 監控和報警設定

    powershellCopy Code
    # 檢視系統日誌監控設定
    Get-WinEvent -ListLog *
    
    # 設定警報策略
    Set-WinEvent -FilterHashtable @{LogName='Security'; StartTime=(Get-Date).AddHours(-1)} -MaxEvents 10
  7. 安全審計和合規性檢查

    powershellCopy Code
    # 檢視安全審計日誌
    Get-WinEvent -LogName Security -MaxEvents 100
    
    # 執行合規性掃描
    Invoke-Command -ComputerName "Server01" -ScriptBlock { Get-NetFirewallRule | Where-Object { $_.Enabled -eq $true } }
  8. 檢查遠端訪問和許可權設定

    powershellCopy Code
    # 檢視RDP連線記錄
    Get-WinEvent -LogName Microsoft-Windows-TerminalServices-LocalSessionManager/Operational | Where-Object { $_.ID -eq 21 }
    
    # 檢查遠端許可權
    Get-Acl -Path "C:\Path\To\FileOrFolder"
  9. 檢查系統資源使用和效能

    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 系統的安全性巡檢專案:

  1. 查詢最近修改的檔案

    powershellCopy Code
    # 查詢最近24小時內修改過的檔案
    Get-ChildItem -Path "C:\Path\To\Folder" -Recurse | Where-Object { $_.LastWriteTime -gt (Get-Date).AddHours(-24) }
  2. 檢查使用者賬戶和許可權

    powershellCopy Code
    # 檢視本地使用者賬戶
    Get-LocalUser
    
    # 檢視本地組資訊
    Get-LocalGroup
    
    # 檢視使用者許可權
    whoami /priv
  3. 監控系統啟動項

    powershellCopy Code
    # 檢視啟動項
    Get-CimInstance -Class Win32_StartupCommand
    
    # 檢查登錄檔中的自啟動項
    Get-ItemProperty -Path "HKLM:\Software\Microsoft\Windows\CurrentVersion\Run"
  4. 檢查防火牆設定

    powershellCopy Code
    # 檢視當前防火牆規則
    Get-NetFirewallRule
    
    # 檢視防火牆狀態
    Get-NetFirewallProfile | Select-Object Name, Enabled
  5. 遠端管理和訪問控制

    powershellCopy Code
    # 遠端管理設定
    Get-Service WinRM
    
    # 檢視遠端桌面設定
    Get-WmiObject -Namespace root\CIMV2\TerminalServices -Class Win32_TerminalServiceSetting | Select-Object AllowTSConnections
  6. 檢查安全更新和補丁

    powershellCopy Code
    # 檢視已安裝的更新
    Get-HotFix
    
    # 檢查系統缺失的更新
    Get-WindowsUpdate
  7. 系統備份和恢復策略

    powershellCopy Code
    # 檢視系統備份情況
    Get-WBJob
    
    # 設定備份策略
    wbadmin start backup -backupTarget:E: -include:C:\Path\To\Data -allCritical -quiet
  8. 審計和監控使用者活動

    powershellCopy Code
    # 檢視使用者登入日誌
    Get-WinEvent -LogName Security | Where-Object { $_.ID -eq 4624 }
    
    # 監控檔案訪問
    Get-WinEvent -LogName Security | Where-Object { $_.ID -eq 4663 }
  9. 安全策略和密碼策略

    powershellCopy Code
    # 檢視本地安全策略
    secedit /export /cfg "C:\path\to\security.cfg"
    
    # 檢視密碼策略
    Get-LocalSecurityPolicy

這些命令可以幫助管理員全面審查和加強 Windows 系統的安全性,確保系統執行在一個高度安全的環境中,同時能夠滿足組織的合規要求和安全標準。

更多的 PowerShell 命令示例,用於增強 Windows 系統的安全性巡檢專案:

  1. 檢查遠端桌面配置

    powershellCopy Code
    # 檢視遠端桌面設定
    Get-WmiObject -Namespace root\CIMv2\TerminalServices -Class Win32_TSGeneralSetting | Select-Object AllowTSConnections
  2. 監控系統服務

    powershellCopy Code
    # 檢視系統服務狀態
    Get-Service
    
    # 檢視自動啟動的服務
    Get-WmiObject -Class Win32_Service | Where-Object { $_.StartMode -eq "Auto" }
  3. 檢查本地組策略

    powershellCopy Code
    # 檢視本地組策略
    Get-GPOReport -ReportType HTML -Path "C:\path\to\output.html"
    
    # 匯出本地安全策略為 XML
    Secedit /export /cfg "C:\path\to\security.xml"
  4. 檢查遠端登錄檔設定

    powershellCopy Code
    # 連線到遠端登錄檔
    $Reg = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey('LocalMachine', 'RemoteComputer')
    
    # 檢視指定路徑的登錄檔項
    $Reg.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Run").GetValueNames()
  5. 監控網路流量和連線

    powershellCopy Code
    # 檢視網路連線狀態
    Get-NetTCPConnection
    
    # 監控網路介面流量
    Get-NetAdapterStatistics
  6. 審查本地安全事件日誌

    powershellCopy Code
    # 檢視安全事件日誌
    Get-WinEvent -LogName Security -MaxEvents 100 | Where-Object { $_.TimeCreated -gt (Get-Date).AddDays(-1) }
  7. 檢查密碼策略

    powershellCopy Code
    # 檢視密碼策略設定
    Get-ADDefaultDomainPasswordPolicy
    
    # 檢視本地賬戶密碼過期狀態
    Get-LocalUser | Select-Object Name, PasswordExpired
  8. 檢查資料加密和加密檔案系統(EFS)

    powershellCopy Code
    # 檢視 EFS 檔案
    Get-ChildItem -Path "C:\Path\To\EncryptedFiles" | Where-Object { $_.Attributes -match "Encrypted" }
    
    # 檢視 BitLocker 設定
    Get-BitLockerVolume
  9. 檢查系統日誌和事件訂閱

    powershellCopy Code
    # 檢視系統日誌
    Get-WinEvent -LogName System -MaxEvents 50
    
    # 配置事件訂閱
    New-WinEventLog -Name "CustomLog" -LogPath "C:\Path\To\Log"
  10. 系統安全掃描和漏洞管理

    powershellCopy Code
    # 執行安全掃描
    Invoke-Command -ComputerName "Server01" -ScriptBlock { Test-NetConnection -ComputerName "RemoteServer" -Port 80 }
    
    # 檢查系統漏洞
    Get-CimInstance -ClassName Win32_QuickFixEngineering

這些命令和示例可以幫助管理員在進行安全性巡檢時全面審查 Windows 系統的各個方面,從而確保系統的安全性和穩定性。

更多的 PowerShell 命令示例,用於增強 Windows 系統的安全性巡檢專案:

  1. 檢查遠端桌面服務

    powershellCopy Code
    # 檢查遠端桌面服務狀態
    Get-Service -Name TermService
    
    # 檢視遠端桌面會話
    qwinsta
  2. 監控檔案系統許可權

    powershellCopy Code
    # 檢視檔案或目錄的許可權
    Get-Acl -Path "C:\Path\To\FileOrFolder"
    
    # 檢查目錄是否設定了繼承許可權
    Get-Acl -Path "C:\Path\To\Folder" | Format-List -Property AreAccessRulesProtected, AreAuditRulesProtected
  3. 審查使用者賬戶和組成員

    powershellCopy Code
    # 檢視本地使用者賬戶
    Get-LocalUser
    
    # 檢視本地組成員
    Get-LocalGroupMember -Group "Administrators"
  4. 檢查遠端管理和遠端執行策略

    powershellCopy Code
    # 檢視遠端管理配置
    Get-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Terminal Server" -Name "fDenyTSConnections"
    
    # 檢視遠端執行策略
    Get-Item WSMan:\localhost\Service\AllowRemoteAccess
  5. 監控計劃任務

    powershellCopy Code
    # 檢視計劃任務
    Get-ScheduledTask
    
    # 匯出計劃任務列表
    Export-ScheduledTask -TaskName "TaskName" -TaskPath "\Folder" -XmlPath "C:\Path\To\ExportedTask.xml"
  6. 審查安全更新情況

    powershellCopy Code
    # 檢視安裝的更新
    Get-HotFix
    
    # 檢視 Windows Update 設定
    Get-WindowsUpdateSetting
  7. 監控 PowerShell 指令碼執行策略

    powershellCopy Code
    # 檢視 PowerShell 執行策略
    Get-ExecutionPolicy
    
    # 設定 PowerShell 執行策略
    Set-ExecutionPolicy -ExecutionPolicy Restricted
  8. 檢查系統儲存裝置和驅動器

    powershellCopy Code
    # 檢視系統驅動器資訊
    Get-WmiObject -Class Win32_DiskDrive | Select-Object Model, Size
    
    # 檢視掛載的磁碟卷
    Get-Volume
  9. 審查網路安全設定

    powershellCopy Code
    # 檢視網路安全設定
    Get-NetFirewallProfile
    
    # 檢視網路共享狀態
    Get-SmbShare
  10. 檢查本地證書儲存

    powershellCopy Code
    # 檢視本地計算機證書
    Get-ChildItem -Path Cert:\LocalMachine\My
    
    # 檢視當前使用者證書
    Get-ChildItem -Path Cert:\CurrentUser\My
  11. 審查 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 命令:

  1. 審查事件日誌

    powershellCopy Code
    # 檢視特定事件日誌
    Get-EventLog -LogName System -EntryType Error
    
    # 檢視最近的安全事件
    Get-EventLog -LogName Security -Newest 50
  2. 檢查開放的網路埠

    powershellCopy Code
    # 檢視當前網路連線和監聽埠
    Get-NetTCPConnection
    
    # 檢視開放的埠
    Test-NetConnection -ComputerName "localhost" -Port 80
  3. 審查本地策略設定

    powershellCopy Code
    # 檢視本地安全策略
    secedit /export /cfg "C:\Path\To\SecurityPolicy.cfg"
    
    # 檢視使用者帳戶控制設定
    Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" -Name "EnableLUA"
  4. 監控系統服務狀態

    powershellCopy Code
    # 檢視所有服務狀態
    Get-Service
    
    # 檢視特定服務詳細資訊
    Get-Service -Name WinRM | Select-Object -Property *
  5. 審查遠端桌面設定

    powershellCopy Code
    # 檢視遠端桌面配置
    Get-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Terminal Server" -Name "fAllowToGetHelp"
    
    # 檢視遠端桌面服務監聽設定
    Get-NetFirewallRule -DisplayName "Remote Desktop*" | Select-Object -Property DisplayName, Enabled
  6. 檢查系統執行日誌

    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"
  7. 審查遠端訪問策略

    powershellCopy Code
    # 檢視遠端管理設定
    Get-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" -Name "fAllowTSConnections"
    
    # 檢視遠端 PowerShell 訪問設定
    Get-PSSessionConfiguration | Select-Object -Property Name, Permission
  8. 監控使用者登入活動

    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"
  9. 審查加密設定

    powershellCopy Code
    # 檢視 BitLocker 加密狀態
    Get-BitLockerVolume
    
    # 檢視加密演算法配置
    Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL" -Name "Functions"
  10. 檢查系統硬體和驅動器健康

    powershellCopy Code
    # 檢視硬體資訊
    Get-WmiObject -Class Win32_BaseBoard | Select-Object -Property Manufacturer, Product
    
    # 檢查驅動器健康狀態
    Get-PhysicalDisk | Select-Object -Property DeviceID, MediaType, OperationalStatus
  11. 審查 PowerShell 模組和外掛

    powershellCopy Code
    # 檢視已安裝的 PowerShell 模組
    Get-Module -ListAvailable
    
    # 檢視當前的 PowerShell 外掛
    Get-Command -Module Microsoft.PowerShell.Core

這些命令涵蓋了 Windows 系統安全性巡檢的多個方面,幫助管理員全面監控和管理系統的安全狀態。

提供更多有關增強 Windows 系統安全性的 PowerShell 命令:

  1. 審查計劃任務

    powershellCopy Code
    # 檢視當前計劃任務
    Get-ScheduledTask
    
    # 匯出計劃任務列表
    Export-ScheduledTask -TaskName "TaskName" -FilePath "C:\Path\To\TaskExport.xml"
  2. 監控防火牆規則

    powershellCopy Code
    # 檢視防火牆規則
    Get-NetFirewallRule
    
    # 檢視特定應用程式的防火牆規則
    Get-NetFirewallApplicationFilter -Program "C:\Path\To\Application.exe"
  3. 審查本地賬戶和組

    powershellCopy Code
    # 檢視本地賬戶
    Get-LocalUser
    
    # 檢視本地組
    Get-LocalGroup
  4. 檢查檔案系統許可權

    powershellCopy Code
    # 檢視特定檔案或目錄的許可權
    Get-Acl -Path "C:\Path\To\FileOrDirectory"
    
    # 檢查資料夾的繼承許可權
    Get-Acl -Path "C:\Path\To\Folder" | Format-List
  5. 審查安全更新情況

    powershellCopy Code
    # 檢視已安裝的安全更新
    Get-HotFix
    
    # 檢視安全更新配置
    Get-WindowsUpdateSetting
  6. 監控系統資源使用情況

    powershellCopy Code
    # 檢視系統程序
    Get-Process
    
    # 監控系統資源利用率
    Get-Counter -Counter "\Processor(_Total)\% Processor Time" -SampleInterval 2 -MaxSamples 10
  7. 審查遠端管理設定

    powershellCopy Code
    # 檢視遠端 PowerShell 執行策略
    Get-ExecutionPolicy
    
    # 設定遠端管理的連線配置
    Set-WSManQuickConfig -Force
  8. 檢查安全身份驗證設定

    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
  9. 審查日誌記錄設定

    powershellCopy Code
    # 檢視 Windows 日誌記錄策略
    Get-EventLog -List
    
    # 檢視 Windows 日誌最大儲存大小
    Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\EventLog\System" -Name "MaxSize"
  10. 監控安全警報

    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 命令:

  1. 檢查服務狀態和配置

    powershellCopy Code
    # 檢視所有服務
    Get-Service
    
    # 檢視特定服務的詳細資訊
    Get-Service -Name "ServiceName"
    
    # 檢查服務啟動型別
    Get-Service | Select-Object -Property Name, DisplayName, StartType
  2. 審查本地安全策略

    powershellCopy Code
    # 檢視本地安全策略
    secedit /export /cfg "C:\Path\To\SecurityPolicy.cfg"
    
    # 檢視帳戶策略設定
    secedit /export /areas USER_RIGHTS /cfg "C:\Path\To\UserRights.cfg"
  3. 監控登入事件

    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"
  4. 設定強密碼策略

    powershellCopy Code
    # 檢視當前密碼策略
    Get-ADDefaultDomainPasswordPolicy
    
    # 設定新的密碼策略
    New-ADFineGrainedPasswordPolicy -Name "StrongPasswordPolicy" -Precedence 1 -ComplexityEnabled $true -MinPasswordLength 10 -MinPasswordAge "1.00:00:00" -PasswordHistoryCount 5
  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
  6. 檢查啟動項

    powershellCopy Code
    # 檢視啟動項
    Get-CimInstance -ClassName Win32_StartupCommand
    
    # 禁用不必要的啟動項
    Disable-CimInstance -ClassName Win32_StartupCommand -Filter "Name='ProgramName'"
  7. 審查使用者會話和許可權

    powershellCopy Code
    # 檢視當前使用者會話
    Get-CimInstance -ClassName Win32_LogonSession
    
    # 檢視特定使用者的許可權
    Get-LocalUser -Name "Username" | Select-Object -ExpandProperty UserRights
  8. 檢查加密設定

    powershellCopy Code
    # 檢視加密提供程式
    Get-EncryptionProvider
    
    # 檢視 BitLocker 驅動器加密狀態
    Get-BitLockerVolume
  9. 審查 PowerShell 指令碼執行策略

    powershellCopy Code
    # 檢視當前 PowerShell 指令碼執行策略
    Get-ExecutionPolicy
    
    # 設定新的 PowerShell 指令碼執行策略
    Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

這些命令和技巧可以幫助您進一步加強 Windows 系統的安全性,並確保系統在面對安全威脅時能夠有所準備和保護。

提供更多關於增強 Windows 系統安全性的 PowerShell 命令:

  1. 監控檔案系統更改

    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"
  2. 審查網路連線和埠狀態

    powershellCopy Code
    # 檢視當前網路連線
    Get-NetTCPConnection
    
    # 檢視埠狀態
    Get-NetFirewallPortFilter | Where-Object {$_.LocalPort -eq 80}
  3. 設定 Windows 防火牆規則

    powershellCopy Code
    # 檢視當前防火牆規則
    Get-NetFirewallRule
    
    # 建立新的防火牆規則允許特定埠
    New-NetFirewallRule -DisplayName "Allow Port 443" -Direction Inbound -Protocol TCP -LocalPort 443 -Action Allow
  4. 配置 Windows Defender 設定

    powershellCopy Code
    # 檢視 Windows Defender 設定
    Get-MpPreference
    
    # 更新 Windows Defender 病毒定義
    Update-MpSignature
  5. 審查系統程序和服務

    powershellCopy Code
    # 檢視執行中的程序
    Get-Process
    
    # 檢視特定服務的詳細資訊
    Get-Service -Name "ServiceName"
  6. 設定事件日誌和審計策略

    powershellCopy Code
    # 檢視當前事件日誌策略
    Get-WinEvent -ListLog *
    
    # 設定新的事件日誌審計策略
    wevtutil sl Security /ca:true /c:3
  7. 配置遠端管理

    powershellCopy Code
    # 啟用遠端 PowerShell
    Enable-PSRemoting -Force
    
    # 設定允許的遠端連線
    Set-Item WSMan:\localhost\Client\TrustedHosts -Value "ServerName"
  8. 審查系統安全補丁和更新

    powershellCopy Code
    # 檢視安裝的補丁
    Get-HotFix
    
    # 安裝特定的 Windows 更新
    Install-WindowsUpdate -KBArticleID KB123456
  9. 配置賬戶策略和登入限制

    powershellCopy Code
    # 檢視賬戶策略設定
    Get-LocalUser | Format-List
    
    # 設定新的賬戶登入限制
    Set-LocalUser -Name "Username" -PasswordNeverExpires $true
  10. 監控系統效能和資源使用

    powershellCopy Code
    # 檢視系統效能計數器
    Get-Counter -ListSet *
    
    # 監控系統資源使用情況
    Get-Process | Sort-Object -Property CPU -Descending | Select-Object -First 10

這些命令涵蓋了多個方面,從檔案系統監控到網路安全設定,都有助於提升 Windows 系統的整體安全性和管理能力。

更多關於增強 Windows 系統安全性的 PowerShell 命令:

  1. 監控賬戶活動和安全事件

    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"
  2. 配置密碼策略

    powershellCopy Code
    # 檢視當前密碼策略
    Get-ADDefaultDomainPasswordPolicy
    
    # 設定新的密碼策略
    Set-ADDefaultDomainPasswordPolicy -MaxPasswordAge "30.00:00:00" -MinPasswordLength 10 -ComplexityEnabled $true
  3. 監控和處理安全漏洞

    powershellCopy Code
    # 檢查已安裝的程式漏洞
    Get-CimInstance -Namespace root/SecurityCenter2 -ClassName AntiSpywareProduct
    
    # 處理已知的安全漏洞
    Invoke-CimMethod -Namespace root/SecurityCenter2 -ClassName AntiSpywareProduct -MethodName RemoveSpyware
  4. 備份和恢復關鍵系統設定

    powershellCopy Code
    # 備份登錄檔項
    Export-Registry -Path "HKLM\Software\MyApp" -LiteralPath "C:\Path\To\Backup.reg"
    
    # 恢復登錄檔項
    Import-Registry -Path "C:\Path\To\Backup.reg"
  5. 配置和管理系統服務

    powershellCopy Code
    # 啟動特定服務
    Start-Service -Name "ServiceName"
    
    # 停止特定服務
    Stop-Service -Name "ServiceName"
  6. 設定和管理本地安全策略

    powershellCopy Code
    # 檢視當前本地安全策略
    secedit /export /cfg "C:\Path\To\SecuritySettings.cfg"
    
    # 匯入新的本地安全策略
    secedit /import /cfg "C:\Path\To\SecuritySettings.cfg"
  7. 配置和監控 BitLocker 加密

    powershellCopy Code
    # 檢視當前 BitLocker 加密狀態
    Get-BitLockerVolume
    
    # 解鎖 BitLocker 加密的卷
    Unlock-BitLocker -MountPoint "C:"
  8. 審查和處理系統日誌

    powershellCopy Code
    # 檢視系統日誌
    Get-WinEvent -LogName System -MaxEvents 10
    
    # 清除特定事件日誌
    Clear-EventLog -LogName Application
  9. 監控和限制 PowerShell 指令碼執行

    powershellCopy Code
    # 檢視當前 PowerShell 執行策略
    Get-ExecutionPolicy
    
    # 設定新的 PowerShell 執行策略
    Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
  10. 檢查和清除惡意軟體

    powershellCopy Code
    # 掃描計算機以查詢惡意軟體
    Start-MpScan -ScanType QuickScan
    
    # 清除發現的惡意軟體
    Remove-MpThreat -ThreatID "12345"
  11. 配置和監控使用者訪問許可權

    powershellCopy Code
    # 檢視指定資料夾的許可權設定
    Get-Acl -Path "C:\Path\To\Folder"
    
    # 設定新的資料夾訪問許可權
    Set-Acl -Path "C:\Path\To\Folder" -AclObject $newAcl
  12. 監控系統時間同步和時鐘設定

```powershell
# 檢視當前時間同步狀態
w32tm /query /status

# 更新系統時鐘
w32tm /resync
```

這些命令覆蓋了多個關鍵領域,幫助您加強 Windows 系統的安全性、管理和監控能力。

更多關於增強 Windows 系統安全性的 PowerShell 命令:

  1. 設定和管理防火牆規則
```powershell
# 檢視當前防火牆規則
Get-NetFirewallRule

# 建立新的防火牆規則
New-NetFirewallRule -DisplayName "Allow HTTP" -Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow
```
  1. 監控和管理網路連線
```powershell
# 檢視當前網路連線
Get-NetTCPConnection

# 斷開特定的網路連線
Get-NetTCPConnection -LocalPort 80 | Remove-NetTCPConnection
```
  1. 配置和監控遠端桌面服務
```powershell
# 檢視遠端桌面服務配置
Get-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Terminal Server"

# 啟用遠端桌面服務
Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Terminal Server" -Name "fDenyTSConnections" -Value 0
```
  1. 設定和管理組策略
```powershell
# 檢視當前組策略設定
Get-GPO -All

# 建立新的組策略物件
New-GPO -Name "CustomSecuritySettings"
```
  1. 配置和管理 Windows Defender 防病毒
```powershell
# 檢視 Windows Defender 防病毒設定
Get-MpPreference

# 更新 Windows Defender 病毒定義
Update-MpSignature
```
  1. 監控和處理系統服務狀態
```powershell
# 檢視系統服務狀態
Get-Service

# 重啟特定服務
Restart-Service -Name "ServiceName"
```
  1. 配置和監控域控制器設定
```powershell
# 檢視當前域控制器設定
Get-ADDomainController -Filter *

# 啟用域控制器的身份驗證策略
Set-ADDomainController -Identity "DC01" -AllowPasswordRecovery $true
```
  1. 審計和處理檔案系統更改
```powershell
# 啟用檔案系統更改審計
Set-AuditRule -Path "C:\Path\To\Folder" -Audit @{Action='All'; Principal='Everyone'; Rights='FullControl'}

# 檢視檔案系統審計日誌
Get-WinEvent -FilterHashtable @{LogName='Security'; ID=4663}
```
  1. 監控和處理遠端 PowerShell 連線
```powershell
# 檢視遠端 PowerShell 會話
Get-PSSession

# 關閉遠端 PowerShell 會話
Remove-PSSession -Session $session
```
  1. 配置和監控系統資源使用情況
```powershell
# 檢視系統資源使用情況
Get-Counter -Counter "\Processor(_Total)\% Processor Time" -SampleInterval 2 -MaxSamples 10

# 監控記憶體使用情況
Get-Counter -Counter "\Memory\Available MBytes" -SampleInterval 5 -MaxSamples 6
```

這些命令涵蓋了 Windows 系統安全性的更多方面,從網路安全到檔案系統管理再到系統資源監控,希望這些能幫助您更好地保護和管理您的系統。

相關文章