Service Start Skript stolpert über ""

Antworten
mhaegele
Beiträge: 293
Registriert: 18 Aug 2010, 13:55

Service Start Skript stolpert über ""

Beitrag von mhaegele »

Hallo!

Ein abgewandeltes Skript stolpert beim Auswerten der laufenden Dienste über "Dienst "Bonjour" "
Ziel wäre den Windwos Update Dienst zu starten ...

Auszug aus instlog.txt v. Client
  • [5] [Sep 24 15:07:47:921] Set $myservice$ = "wuauserv"
    [6] [Sep 24 15:07:47:921] The value of the variable "$myservice$" is now: "wuauserv"
    [5] [Sep 24 15:07:47:921] comment: ============================
    [5] [Sep 24 15:07:47:921] comment: search the list
    [4] [Sep 24 15:07:47:921] Warning: depricated: <LogLevel=> please use <setLogLevel=>
    [1] [Sep 24 15:07:47:921] LogLevel was 6
    [1] [Sep 24 15:07:47:921] LogLevel set to 3
    [2] [Sep 24 15:07:47:937] Syntax Error in Section: sub_find_myservice (Command in line 28): $splitS$ = takeString (1, splitStringOnWhiteSpace(" Dienst "Bonjour"")) -> ")" expected
    [2] [Sep 24 15:08:24:828] Syntax Error in Section: sub_find_myservice (Command in line 29): $compareS$ = $splitS$ + takeString(1, splitString(" Dienst "Bonjour"", $splitS$)) -> "," expected
vollst. Log unten ...

Jemand ne Idee wie man das im Skript umgehen kann ...


wusa.ins

Code: Alles auswählen

[Actions]
;wusa starten                  
	;Dienst starten
DefStringList list0
DefStringList list1
DefStringList result
Set list0=getOutStreamFromSection('DosBatch_netcall')
Set list1=getSublist(2:-3, list0)
DefVar $myservice$
DefVar $compareS$
DefVar $splitS$
DefVar $found$
Set $found$ ="false"
set $myservice$ = "wuauserv"
comment "============================"
comment "search the list"
; for developping loglevel = 3
; loglevel=3
; in normal use we dont want to log the looping
loglevel = -1
for %s% in list1 do sub_find_myservice
loglevel=2
comment "============================"
if $found$ = "false"
set result = getOutStreamFromSection ("dosinanicon_start_myservice")
endif
[sub_find_myservice]
set $splitS$ = takeString (1, splitStringOnWhiteSpace("%s%"))
Set $compareS$ = $splitS$ + takeString(1, splitString("%s%", $splitS$))
if $compareS$ = $myservice$
set $found$ = "true"
endif
[dosinanicon_start_myservice]
sc config "$myservice$" start= auto
net start "$myservice$"
[dosbatch_netcall]
@echo off
net start	
;ende wusa starten

instlog.txt vollständig:

Code: Alles auswählen

5] [Sep 24 15:07:46:781] Resolved sequence of products (24.09.2013 15:07:46): 
[5] [Sep 24 15:07:46:781] Product 0 	service-start-wusa : setup
[5] [Sep 24 15:07:46:781] Product 2 	sec-wu-aktivieren : setup
[5] [Sep 24 15:07:46:781] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[6] [Sep 24 15:07:47:093] JSON service request https://xx.xx.xx.xxx:4447/rpc getProductProperties_hash
[6] [Sep 24 15:07:47:234] JSON Bench for getProductProperties_hash "params":["service-start-wusa","hostname.de2 Start: 15:07:47:093 Time: 00:00:00:141
[6] [Sep 24 15:07:47:250] JSON service request https://xx.xx.xx.xxx:4447/rpc getProduct_hash
[6] [Sep 24 15:07:47:328] JSON Bench for getProduct_hash "params":["service-start-wusa","domainsopsi1.de2 Start: 15:07:47:250 Time: 00:00:00:078
[6] [Sep 24 15:07:47:328] JSON service request https://xx.xx.xx.xxx:4447/rpc productOnClient_getObjects
[6] [Sep 24 15:07:47:406] JSON Bench for productOnClient_getObjects "params":["",{"clientId":"hostname.domain. Start: 15:07:47:328 Time: 00:00:00:078
[5] [Sep 24 15:07:47:406] scriptname: "wusa.ins", special path: "p:\service-start-wusa\"
[6] [Sep 24 15:07:47:406] JSON service request https://xx.xx.xx.xxx:4447/rpc productOnClient_updateObject
[6] [Sep 24 15:07:47:484] JSON Bench for productOnClient_updateObject "params":[{"clientId":"hostname.domain.xx- Start: 15:07:47:406 Time: 00:00:00:078
[1] [Sep 24 15:07:47:546] 
[1] [Sep 24 15:07:47:546] ============ Version 4.11.3.4 WIN32 script "p:\service-start-wusa\wusa.ins"
[1] [Sep 24 15:07:47:546]              start: 2013-09-24  15:07:47 
[1] [Sep 24 15:07:47:546]              installing product: service-start-wusa_1.1-1
[1] [Sep 24 15:07:47:546]              on client named    "hostname.domain.domain.tld"
[1] [Sep 24 15:07:47:546]              loggedin user    ""
[1] [Sep 24 15:07:47:546]              winst running as    "pcpatch"
[1] [Sep 24 15:07:47:546]              winst running with admin privileges
[1] [Sep 24 15:07:47:546]              winst running in standard script mode
[1] [Sep 24 15:07:47:546] [executing: "C:\Programme\opsi.org\opsi-client-agent\opsi-winst\winst32.exe"]
[1] [Sep 24 15:07:47:546] system infos:
[1] [Sep 24 15:07:47:546] 00-19-99-88-10-E9  -  PC hardware address
[1] [Sep 24 15:07:47:546] hostname.domain.domain.tld  -  IP name 
[1] [Sep 24 15:07:47:546] 10.59.48.45  -  IP address
[1] [Sep 24 15:07:47:546] DEU  -  System default locale 
[1] [Sep 24 15:07:47:546] MS Windowds 5.1 32 Bit
[1] [Sep 24 15:07:47:546] opsi service version : 4
[1] [Sep 24 15:07:47:546] 
[6] [Sep 24 15:07:47:546] Registry key [HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion]  opened
[6] [Sep 24 15:07:47:546] Key closed
[5] [Sep 24 15:07:47:640] 
[5] [Sep 24 15:07:47:640] Set  list0=getOutStreamFromSection('DosBatch_netcall')
[5] [Sep 24 15:07:47:640]   
[5] [Sep 24 15:07:47:640]   Execution of DosBatch_netcall
[6] [Sep 24 15:07:47:656]     c:\opsi.org\tmp\_winstbat_1.bat saved back
[6] [Sep 24 15:07:47:656]     Executing "cmd.exe" /C "c:\opsi.org\tmp\_winstbat_1.bat"
[6] [Sep 24 15:07:47:921]     ExitCode 0
[6] [Sep 24 15:07:47:921]                 
[6] [Sep 24 15:07:47:921]                 output:
[6] [Sep 24 15:07:47:921]                 --------------
[6] [Sep 24 15:07:47:921]                 Folgende Windows-Dienste sind gestartet:
[6] [Sep 24 15:07:47:921]                 
[6] [Sep 24 15:07:47:921]                    Anmeldedienst
[6] [Sep 24 15:07:47:921]                    Apple Mobile Device
[6] [Sep 24 15:07:47:921]                    Arbeitsstationsdienst
[6] [Sep 24 15:07:47:921]                    Automatische Updates
[6] [Sep 24 15:07:47:921]                    COM+-Ereignissystem
[6] [Sep 24 15:07:47:921]                    Computerbrowser
[6] [Sep 24 15:07:47:921]                    DameWare Mini Remote Control
[6] [Sep 24 15:07:47:921]                    DCOM-Server-Prozessstart
[6] [Sep 24 15:07:47:921]                    Designs
[6] [Sep 24 15:07:47:921]                    DHCP-Client
[6] [Sep 24 15:07:47:921]                    Dienst "Bonjour"
[6] [Sep 24 15:07:47:921]                    DNS-Client
[6] [Sep 24 15:07:47:921]                    Druckwarteschlange
[6] [Sep 24 15:07:47:921]                    Ereignisprotokoll
[6] [Sep 24 15:07:47:921]                    Fehlerberichterstattungsdienst
[6] [Sep 24 15:07:47:921]                    Geschützter Speicher
[6] [Sep 24 15:07:47:921]                    HID Input Service
[6] [Sep 24 15:07:47:921]                    Hilfe und Support
[6] [Sep 24 15:07:47:921]                    iPod-Dienst
[6] [Sep 24 15:07:47:921]                    IPSEC-Dienste
[6] [Sep 24 15:07:47:921]                    Java Quick Starter
[6] [Sep 24 15:07:47:921]                    Konfigurationsfreie drahtlose Verbindung
[6] [Sep 24 15:07:47:921]                    Kryptografiedienste
[6] [Sep 24 15:07:47:921]                    Nachrichtendienst
[6] [Sep 24 15:07:47:921]                    Netzwerkverbindungen
[6] [Sep 24 15:07:47:921]                    NLA (Network Location Awareness)
[6] [Sep 24 15:07:47:921]                    opsiclientd
[6] [Sep 24 15:07:47:921]                    Plug & Play
[6] [Sep 24 15:07:47:921]                    RAS-Verbindungsverwaltung
[6] [Sep 24 15:07:47:921]                    Remote-Registrierung
[6] [Sep 24 15:07:47:921]                    Remoteprozeduraufruf (RPC)
[6] [Sep 24 15:07:47:921]                    Sekundäre Anmeldung
[6] [Sep 24 15:07:47:921]                    Server
[6] [Sep 24 15:07:47:921]                    Shellhardwareerkennung
[6] [Sep 24 15:07:47:921]                    Sicherheitskontenverwaltung
[6] [Sep 24 15:07:47:921]                    Sophos Agent
[6] [Sep 24 15:07:47:921]                    Sophos Anti-Virus
[6] [Sep 24 15:07:47:921]                    Sophos Anti-Virus Statusreporter
[6] [Sep 24 15:07:47:921]                    Sophos AutoUpdate Service
[6] [Sep 24 15:07:47:921]                    Sophos Message Router
[6] [Sep 24 15:07:47:921]                    Sophos Web Control Service
[6] [Sep 24 15:07:47:921]                    Sophos Web Intelligence Service
[6] [Sep 24 15:07:47:921]                    SSDP-Suchdienst
[6] [Sep 24 15:07:47:921]                    Systemereignisbenachrichtigung
[6] [Sep 24 15:07:47:921]                    Taskplaner
[6] [Sep 24 15:07:47:921]                    TCP/IP-Druckserver
[6] [Sep 24 15:07:47:921]                    TCP/IP-NetBIOS-Hilfsprogramm
[6] [Sep 24 15:07:47:921]                    Telefonie
[6] [Sep 24 15:07:47:921]                    Terminaldienste
[6] [Sep 24 15:07:47:921]                    Verwaltung logischer Datenträger
[6] [Sep 24 15:07:47:921]                    WebClient
[6] [Sep 24 15:07:47:921]                    Windows Audio
[6] [Sep 24 15:07:47:921]                    Windows Search
[6] [Sep 24 15:07:47:921]                    Windows-Bilderfassung (WIA)
[6] [Sep 24 15:07:47:921]                    Windows-Verwaltungsinstrumentation
[6] [Sep 24 15:07:47:921]                    Windows-Zeitgeber
[6] [Sep 24 15:07:47:921]                    WMI-Leistungsadapter
[6] [Sep 24 15:07:47:921]                    Überwachung verteilter Verknüpfungen (Client)
[6] [Sep 24 15:07:47:921]                 
[6] [Sep 24 15:07:47:921]                 Der Befehl wurde erfolgreich ausgeführt.
[6] [Sep 24 15:07:47:921]                 
[6] [Sep 24 15:07:47:921]     
[6] [Sep 24 15:07:47:921]     Delete "c:\opsi.org\tmp\_winstbat_*"
[6] [Sep 24 15:07:47:921]       Search "c:\opsi.org\tmp\"
[6] [Sep 24 15:07:47:921]       File "c:\opsi.org\tmp\_winstbat_1.bat"
[6] [Sep 24 15:07:47:921]         The file has been deleted
[6] [Sep 24 15:07:47:921]     retrieving strings from getOutStreamFromSection [switch to loglevel 7 for debugging]
[5] [Sep 24 15:07:47:921] 
[5] [Sep 24 15:07:47:921] Set  list1=getSublist(2:-3, list0)
[6] [Sep 24 15:07:47:921]     retrieving strings from list0 [switch to loglevel 7 for debugging]
[6] [Sep 24 15:07:47:921]     retrieving strings from getSublist [switch to loglevel 7 for debugging]
[5] [Sep 24 15:07:47:921] 
[5] [Sep 24 15:07:47:921] Set  $found$ ="false"
[6] [Sep 24 15:07:47:921]   The value of the variable "$found$" is now: "false"
[5] [Sep 24 15:07:47:921] 
[5] [Sep 24 15:07:47:921] Set  $myservice$ = "wuauserv"
[6] [Sep 24 15:07:47:921]   The value of the variable "$myservice$" is now: "wuauserv"
[5] [Sep 24 15:07:47:921] comment: ============================
[5] [Sep 24 15:07:47:921] comment: search the list
[4] [Sep 24 15:07:47:921] Warning: depricated: <LogLevel=> please use <setLogLevel=> 
[1] [Sep 24 15:07:47:921] LogLevel was 6
[1] [Sep 24 15:07:47:921] LogLevel set to 3
[2] [Sep 24 15:07:47:937]   Syntax Error in Section: sub_find_myservice (Command in line 28): $splitS$ = takeString (1, splitStringOnWhiteSpace("   Dienst "Bonjour"")) -> ")" expected 
[2] [Sep 24 15:08:24:828]   Syntax Error in Section: sub_find_myservice (Command in line 29): $compareS$ = $splitS$ + takeString(1, splitString("   Dienst "Bonjour"", $splitS$)) -> "," expected 
[1] [Sep 24 15:08:26:125] LogLevel was 3
[1] [Sep 24 15:08:26:125] LogLevel set to 6
[5] [Sep 24 15:08:26:125] comment: ============================
[5] [Sep 24 15:08:26:125] 
[5] [Sep 24 15:08:26:125] If
[5] [Sep 24 15:08:26:140]   $found$ = "false"   <<< result true
[5] [Sep 24 15:08:26:140] Then
[5] [Sep 24 15:08:26:140]   
[5] [Sep 24 15:08:26:140]   Set  result = getOutStreamFromSection ("dosinanicon_start_myservice")
[5] [Sep 24 15:08:26:140]     
[5] [Sep 24 15:08:26:140]     Execution of dosinanicon_start_myservice
[6] [Sep 24 15:08:26:140]       c:\opsi.org\tmp\_winstbat_2.bat saved back
[6] [Sep 24 15:08:26:140]       Executing "cmd.exe" /C "c:\opsi.org\tmp\_winstbat_2.bat"
[6] [Sep 24 15:08:26:875]       ExitCode 2
[6] [Sep 24 15:08:26:875]                   
[6] [Sep 24 15:08:26:875]                   output:
[6] [Sep 24 15:08:26:875]                   --------------
[6] [Sep 24 15:08:26:875]                   
[6] [Sep 24 15:08:26:875]                   C:\WINDOWS\system32>sc config "wuauserv" start= auto 
[6] [Sep 24 15:08:26:875]                   [SC] ChangeServiceConfig SUCCESS
[6] [Sep 24 15:08:26:875]                   
[6] [Sep 24 15:08:26:875]                   C:\WINDOWS\system32>net start "wuauserv" 
[6] [Sep 24 15:08:26:875]                   Der angeforderte Dienst wurde bereits gestartet.
[6] [Sep 24 15:08:26:875]                   
[6] [Sep 24 15:08:26:875]                   Sie erhalten weitere Hilfe, wenn Sie NET HELPMSG 2182 eingeben.
[6] [Sep 24 15:08:26:875]                   
[6] [Sep 24 15:08:26:875]       
[6] [Sep 24 15:08:26:890]       Delete "c:\opsi.org\tmp\_winstbat_*"
[6] [Sep 24 15:08:26:890]         Search "c:\opsi.org\tmp\"
[6] [Sep 24 15:08:26:890]         File "c:\opsi.org\tmp\_winstbat_2.bat"
[6] [Sep 24 15:08:26:890]           The file has been deleted
[6] [Sep 24 15:08:26:890]       retrieving strings from getOutStreamFromSection [switch to loglevel 7 for debugging]
[5] [Sep 24 15:08:26:890] EndIf
[1] [Sep 24 15:08:26:890] ___________________
[1] [Sep 24 15:08:26:890] script finished
[1] [Sep 24 15:08:26:890] 2 errors
[1] [Sep 24 15:08:26:890] 2 warnings
[1] [Sep 24 15:08:26:890] 
[1] [Sep 24 15:08:26:890] installed product: service-start-wusa Versio

Benutzeravatar
embl-structures
Beiträge: 327
Registriert: 13 Jan 2010, 18:41
Wohnort: Heidelberg
Kontaktdaten:

Re: Service Start Skript stolpert über ""

Beitrag von embl-structures »

mhaegele hat geschrieben:Hallo!

Ein abgewandeltes Skript stolpert beim Auswerten der laufenden Dienste über "Dienst "Bonjour" "
Ziel wäre den Windwos Update Dienst zu starten ...

Auszug aus instlog.txt v. Client
  • [...]
    [2] [Sep 24 15:07:47:937] Syntax Error in Section: sub_find_myservice (Command in line 28): $splitS$ = takeString (1, splitStringOnWhiteSpace(" Dienst "Bonjour"")) -> ")" expected
    [2] [Sep 24 15:08:24:828] Syntax Error in Section: sub_find_myservice (Command in line 29): $compareS$ = $splitS$ + takeString(1, splitString(" Dienst "Bonjour"", $splitS$)) -> "," expected
vollst. Log unten ...

Jemand ne Idee wie man das im Skript umgehen kann ...
[...]
Du musst die "internen" Anführungszeichen im Namen des Bonjour-Dienstes ('Dienst "Bonjour"') loswerden. Die Funktion "unquote()" müsste genau das machen. Statt

Code: Alles auswählen

set $splitS$ = takeString (1, splitStringOnWhiteSpace("%s%"))
könntest Du z.B.

Code: Alles auswählen

set $splitS$ = takeString (1, splitStringOnWhiteSpace(unquote(%s%, '"'))
(o.ä.) verwenden (habe es nicht selber getestet).

frank
Antworten