我有一个正在运行的Windows服务,并且给出了可执行文件的路径(右键单击服务->属性->可执行文件的路径)
"abc.exe" -s "cdf.conf"
我正在尝试使用Powershell自动安装此服务。我应该如何使用 conf 文件提供完整的服务.exe?
$abcService = "?????"
$Proc = Start-Process $abcService $exeArgs -WorkingDirectory "D:abc" -ErrorAction SilentlyContinue
我应该如何使用 -s 将输入提供给配置文件.exe?有什么帮助吗?还是建议?可能是一个小的,但它对我来说很新。
我正在尝试将其作为服务运行。
这就是我在做的
$abcservice = "D:abcabc.exe"
$abcserviceName = "abc"
function InstallABCservice(){
Write-Host "Installing $abcserviceName"
$argList = "/s D:abcabc.conf"
$Proc = Start-Process $abcservice $argList -WorkingDirectory "D:abc" -ErrorAction SilentlyContinue
Write-Host "Install running under process id $($Proc.Id). Waiting 5 seconds"
Start-Sleep -s 5
if ($Proc -ne $null){
Stop-Process -Id $Proc.Id -ErrorAction SilentlyContinue
}
Write-Host "Install should be complete. Checking for service $abcservice"
$abcsvc = gwmi win32_service -filter "name='$abcserviceName'"
if ($abcsvc -eq $null) {
throw "Service $abcserviceName does not exist. The automated install process failed. A manual install will be required"
}
Write-Host "Found service $abcserviceName. Changing startup-type to Disabled"
Set-Service $abcserviceName -startuptype "Disabled"
$abcsvc.change($null,$null,$null,$null,$null,$null,$null,$null,$null,$null,$null)
Write-Host "Startup-type changed to Disabled"
Write-Host "Install successfully complete. Service $($abcsvc.DisplayName) installed and startup type set to Disabled"
}
function Main(){
InstallABCservice
}
Main
如果您只是想自动启动带有一些参数的进程; 那么您可以执行以下操作:
$service = "c:pathabc.exe";
$arguments= "/s c:testmyconf.conf"
$proc = Start-Process $service $arguments -WorkingDirectory "D:abc" -ErrorAction SilentlyContinue
如果要注册服务(因此它显示在 services.msc 或 get-services 下),以便可以使用启动服务/停止服务 cmdlet,则需要先注册服务:
要将 exe 注册为服务 (windows):
sc.exe create <new_service_name> binPath= "<path_to_the_service_executable>"
要注销/卸载服务:
sc delete <servicename>
有关安装/处理服务的更多信息:https://technet.microsoft.com/en-us/library/cc754599.aspx
如果您已经将 exe 安装为服务;您可以通过 get-service、stop-service、start-service 和 restart-service 来操作它。
获取服务将为您提供正在运行的服务的状态。
希望这能解释你需要什么;因为你的问题模棱两可