2 Stimmen

Powershell-Installation/Deinstallation von Windows-Diensten auf einem Remotecomputer

Ich verwende Powershell 1.0 und muss einen Dienst auf einem Remotecomputer installieren und ihn zunächst deinstallieren, falls er vorhanden ist.

Das ist mein Skript, mit dem ich den Dienst installiere, aber ich scheine nicht in der Lage zu sein, die Dienst zu deinstallieren. Ich habe es mit installutil versucht, aber der Dienstpfad ist ein Netzwerkpfad, bei dem installutil Fehler auslöst.

Ich bin sicher, dass es einen besseren und saubereren Weg gibt, dies zu erreichen.

$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

0voto

Keith Hill Punkte 183005

Wenn Sie mit PowerShell 1.0 nicht weiterkommen, lesen Sie psexec die es Ihnen ermöglicht, installutil.exe auf dem Remotecomputer auszuführen. Wenn Sie PowerShell 2.0 sowohl auf dem lokalen als auch auf dem Remotecomputer verwenden, können Sie installutil.exe auf dem Remotecomputer über Remoting ausführen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X