我需要一個powershell腳本,它將檢查本地計算機上所有服務的狀態,并與我之前創建的 .html 檔案中存盤的允許服務的參考串列進行比較。比較后,腳本將停止計算機上運行的所有未在參考檔案中列出的服務。
uj5u.com熱心網友回復:
首先我想說這段代碼沒有驗證,并且不能很好地與其他 html 表一起使用。而且它根本沒有優化。
$ServicesFromHTML = (gc .\services.htm | where {$_ -match '^<tr><td>(Name:|Status:|<hr>)'}) -replace "</?t(r|d)>","" -join ";" -replace ";<hr>;","`r`n" -replace "(Name:|Status:)","" | ConvertFrom-Csv -Delimiter ";" -Header "Name","Status"
$RunningServices = Get-Service | Where-Object {$_.Status -eq "Running"} | Select Name,Status
"Comparing services if they are currently running ("<=") or were running when exported ("=>")"
Compare-Object $RunningServices.Name $ServicesFromHTML.Name
$OnlyNowRunningServices = (Compare-Object $RunningServices.Name $ServicesFromHTML.Name | where {$_.SideIndicator -eq "<="}).InputObject
$OnlyNowRunningServices | foreach {"Trying to stop Service $_";Stop-Service $_}
將來使用 CSV/XML/JSON 匯出,因為您可以很容易地匯入它們。如果您需要在瀏覽器中閱讀人類可讀的內容,請另外創建它。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/447738.html
