2010-07-22 190 views
2

我正在使用powershell 1.0,我需要在远程计算机上安装服务并首先将其卸载(如果存在)。Powershell在远程计算机上安装/卸载Windows服务

这是我的安装该服务的脚本,但是,我似乎无法卸载 服务。我试过installutil,但是服务路径是一个installutil的网络路径,引发错误。

我是一个完整的PowerShell新手,但是,我确定必须有一个更好,更清洁的方法来处理这个问题。

$class = "Win32_Service" 
$method = "Create" 
$mc = [wmiclass]"\\DUMMYServer\ROOT\CIMV2:$class" 
$inparams = $mc.PSBase.GetMethodParameters($method) 
$inparams.DesktopInteract = $false 
$inparams.DisplayName = "DummyService" 
$inparams.ErrorControl = 0 
$inparams.LoadOrderGroup = $null 
$inparams.LoadOrderGroupDependencies = $null 
$inparams.Name = "DummyMessageService" 
$inparams.PathName = '\\DummyServer\c$\Applications\DummyMessageWindowsService\DummyWindowsService.exe' 
$inparams.ServiceDependencies = $null 
$inparams.ServiceType = 16 
$inparams.StartMode = "Automatic" 
$inparams.StartName = $null # will start as localsystem builtin if null 
$inparams.StartPassword = $null 

$result = $mc.PSBase.InvokeMethod($method,$inparams,$null) 
$result | Format-List 

回答

0

如果你被困在PowerShell 1.0中,检查出psexec这将允许你在远程机器上运行installutil.exe。如果您在本地和远程计算机上使用PowerShell 2.0,则可以使用远程处理在远程计算机上运行installutil.exe。