当使用以下命令将有关服务的信息返回到文件时:
sc.exe query MyService >> MyFileLocation\MyFile.txt
我在文件中得到以下信息:
SERVICE_NAME: MyService
TYPE : 10 WIN32_OWN_PROCESS
STATE : 4 RUNNING
(STOPPABLE, NOT_PAUSABLE, ACCEPTS_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0
但我只需要状态。我已检查了文档中的属性:
https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/sc-query
但我找不到任何可以让我返回的东西仅有的国家。可以这样做吗?如果可以,该怎么做?提前谢谢。
答案1
您可以尝试以下方法:
sc.exe query MyService | select-string state >> MyFileLocation\MyFile.txt
结果应该是:
STATE : 4 RUNNING
使用“纯” powershell:
Get-Service MyService | select Status
答案2
使用 sc.exe 是 cmd 方式。
由于您使用的是 PowerShell,建议使用 Powershell 函数 Get-Service。
这允许您使用以下代码:
(Get-Service MyService).status
其结果是:
Running
要将其直接打印到文件,您可以使用:
(Get-Service MyService).status | out-file "MyLocation\MyFile.txt" -append
鉴于我们使用 powershell,你甚至可以执行以下操作:
$status = (Get-Service MyService).status
"The status of MyService is $status" | out-file -path "MyLocation\MyFile.txt" -append