Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
156 views
in Technique[技术] by (71.8m points)

Powershell check if service is running and log to file

So i have 2 variables one include 4 services service 1 service 2 service 3 service 4

second variable include all services which are running on computer

$servicesall = (Get-service | Group-Object -Property Name).Name

$servicestocheck = Get-Content

i want to log to file info like Service 1 is running, Service 2 is not running

question from:https://stackoverflow.com/questions/65849191/powershell-check-if-service-is-running-and-log-to-file

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

I'm not sure if this is exactly what you're looking for but if you store the services you need in a text file you can do the following:

$services = Get-Content "C:ServiceList.txt"
$statusReport = Get-Service -Name $services | Select-Object Name, Status
$statusReport | Out-File -path "c:logfile.log"

Result:

Name     Status
----     ------
spooler Running
winrm   Stopped
wsearch Running

The name parameter in Get-Service -Name $services accepts an array of strings, which is why you don't need to do any sort of 'foreach' loop.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...