我一直在尝试使用 powershell 停止和删除远程服务器上的 Windows 服务,特别是通过 Octopus Deploy 自动调用的 PostDeploy.ps1。我已尝试使用此处描述的以下内容:
$service = Get-WmiObject -Class Win32_Service -Filter "Name='servicename'"
$service.delete()
当脚本运行时,我得到这个:
__GENUS : 2
__CLASS : __PARAMETERS
__SUPERCLASS :
__DYNASTY : __PARAMETERS
__RELPATH :
__PROPERTY_COUNT : 1
__DERIVATION : {}
__SERVER :
__NAMESPACE :
__PATH :
ReturnValue : 0
PSComputerName :
但服务仍然存在。我也尝试过使用
net stop "my service"
其次是
sc.exe delete "my service"
但获得拒绝访问的消息。当我使用以管理员身份运行在盒子上手动使用这些命令时,我可以删除和删除服务。
我也尝试按照此处章鱼部署页面上的示例进行操作。
有关信息,我可以通过 powershell 安装和启动服务。
我可以在我的 ps1 文件中添加一些内容以强制命令以管理员身份运行,还是我需要做其他事情?