windows 修复有关服务的问题,使用PowerShell的服务

mwecs4sa  于 2023-11-21  发布在  Windows
关注(0)|答案(1)|浏览(181)

除了我的问题,如果可能的话,我会很感激对特殊的windows服务应用程序的一些见解,在这种情况下,我不正确地理解这一切是如何工作的.谢谢.

**背景:

我正在编写一个PowerShell脚本,该脚本手动创建一个Windows服务,并删除或清理它(如果它存在)。我的脚本尝试提前停止该服务。**

**问题:

当我在PowerShell脚本中创建和删除服务时,它们可能会被打开的服务应用程序阻止**
我在想可能的解决办法是

  • 获取sc.exe创建和删除命令,以通过PowerShell完全完成服务的删除和创建,而不仅仅是标记
  • 能够正确检查服务.插件或服务是否打开(在插件上处于活动状态)

感谢您的帮助!
我想先说我可能会混淆我的结果与sc.exe创建和删除,但无论哪种方式,我相信我有一个问题在这里。
到目前为止,我已经决定尝试检查服务应用程序是否打开,但还没有能够让它工作。在我创建和删除windows服务的经验,我已经让这个应用程序阻止了在PowerShell中运行这些命令的能力。(sc.exe delete“SomeService”)给出诸如“x被标记为删除”之类的反馈,但不会删除它,例如,直到它被关闭或服务本身被停止。
我也尝试过杀死服务的任务或进程,但不确定我是否能做到这一点。我无法绕过它的权限。

ufj5ltwl

ufj5ltwl1#

正如在评论中提到的,这里有一个片段,可以为您工作

  1. # Set the name of the service and process to check for
  2. $serviceName = "Application1Service"
  3. $processName = "application1.exe"
  4. # Check if the service is running
  5. if (Get-Service $serviceName -ErrorAction SilentlyContinue | Where-Object {$_.Status -eq "Running"}) {
  6. # Stop the service
  7. Stop-Service $serviceName
  8. # Check if the process is running
  9. if (Get-Process $processName -ErrorAction SilentlyContinue) {
  10. # Kill the process
  11. Stop-Process -Name $processName -Force
  12. }
  13. # Delete the service (CmdLet available from Powershell 6.0)
  14. Remove-Service $serviceName
  15. }

字符串

展开查看全部

相关问题