Jump to content

"Service" - Log On as - via script setzen


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Geschrieben

Hallo zusammen

 

Ich muss einen bestehenden Service, der unter "local System läuft", via script ändern:

 

Neu soll der Service unter einem speziellen User laufen.

 

Nur hab ich keine Ahnung, wie ich via Script das ändern könnte, ein Kennwort muss man da ja auch mitgeben.

 

Hoffe ihr wisst rat.

 

Surfy

Geschrieben

Hui, danke für die Tips!

 

Beim Umsetzen happerts dann aber heftigst an meinem VB Skill

 

Hab mir mal den nicht laufenden Dienst clipsrv (clipbook Viewer) als Versuchskaninchen ausgesucht:

 

Abgespeichert als test.vbs und aufgerufen via cscript test.vbs

 

strComputer = "."

Set objWMIService = GetObject("winmgmts:" _

& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colServices = objWMIService.ExecQuery _

("Select * from Win32_Service")

For each objService in colServices

If objService.StartName = ".\clipsrv" Then

errServiceChange = objService.Change _

( , , , , , , "mydomain\testuser1" , "")

End If

Next

 

Das ganze endet ohne Fehlermeldung - aber der Service bekommt den Account nicht eingetragen.. Den Account habe ich vorher die Rechte für "log on as Service" in der lokalen Gruppenrichtlinie gegeben.

 

Wo klemmt es da noch?

Geschrieben

Auf den ersten Blick fehlt dir ein Backslash.

Im Beispiel steht .\\clipsrv, bei Dir nur .\clipsrv

 

Ggf. kannst ja das Script erst mal dazu nutzen um zu sehen, wie Deine Services überhaupt heissen.

Ggf. mal folgenden Code abändern:

For each objService in colServices
 cscript.echo objService.StartName
Next

Geschrieben

strComputer = "localhost"

Set objWMIService = GetObject("winmgmts:" _

& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

 

Set SWBemlocator = CreateObject("WbemScripting.SWbemLocator")

Set objWMIService = SWBemlocator.ConnectServer(strComputer,"\root\CIMV2")

Set colItems = objWMIService.ExecQuery("Select * from Win32_Service where Name = 'Alerter'",,48)

 

For each objService in colItems

errServiceChange = objService.Change( , , , , , ,"mydomain\myuser","myPassword")

next

 

wscript.echo(errServiceChange )

 

Falls mal wieder jemand da ran muss :)

Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...