heysel
Goto Top

Programm mit Parametern ausführen

Hallo zusammen

ich möchte unser altes CMD Anmeldeskript gegen ein kix Skript austauschen. Nun bin ich an dem Punkt das ich eine Anwendung ausführen will. Dies habe ich auch shcon mit run gemacht aber wie gebe ich dem die Parameter mit?

So siehts im CMD skript aus

Fall 1

\\fs01\NETLOGON\proflwiz.exe /r "Y:\Windows\eui.ops" /p

Fall 2
copy /Y \\fs01\netlogon\appsrv.ini "M:\Documents and Settings\%username%\Application Data\Icaclient"

Wenn ich das mit

run "\\euifs01\NETLOGON\proflwiz.exe /r "Y:\Windows\eui.ops" /p"

oder

run "copy /Y \\euifs01\netlogon\appsrv.ini "M:\Documents and Settings\%username%\Application Data\Icaclient""

machen möchte führt er zwar das Programm aus, aber ohne die Parameter.

Kann mir da vieleicht jemand die richtige Syntax zeigen mit der ich die Programme über ein Kixskript ausführen kann?

Gruß

Floh

Content-ID: 126647

Url: https://administrator.de/contentid/126647

Ausgedruckt am: 05.11.2024 um 13:11 Uhr

60730
60730 07.10.2009 um 16:20:34 Uhr
Goto Top
Servus,

statt
\\fs01\NETLOGON\proflwiz.exe
sollte
%logonserver%\netlogon usw..
besser sein. (auchn in Batch)
copy kann Kix auch - das muß man nicht "run"nen face-wink

copy /Y \\fs01\netlogon\appsrv.ini "M:\Documents and Settings\%username%\Application Data\Icaclient"

sollte besser
copy "%logonserver%\netlogon\appsrv.ini" "%appdata%\Icaclient\"
so geschrieben werden.

Gruß
Heysel
Heysel 09.10.2009 um 12:21:38 Uhr
Goto Top
Hi Timo

danke für deine Hilfe, das mit dem Proflwiz funktioniert nun nur mit dem Copy geht das noch nciht

so sieht die Syntax im Kixscript aus die ich nach deinen infos angepasst hab:

if ingroup("APP_Programm_LIVE")
copy /Y "%logonserver%\NETLOGON\APPSRV_Dateien\Basic\APPSRV.INI" "%appdata%\Icaclient\"
copy /Y "%logonserver%\NETLOGON\Citrix_APP_ICONS\Vectus.lnk" "\\Domäne.local\data\users\%username%\Desktop"
endif

beim Anmelden am Server bekomme ich folgenden Fehler

ERROR: Error in expression.!
Skript: name des Skripts.kix
Line: 24 (das ist do das erste Copy von den beiden copy befehlen kommt.

Die Pfade habe ich überprüft die stimmen alle uns sind auch alle erreichbar
60730
60730 11.10.2009 um 23:56:04 Uhr
Goto Top
Servus,

ich würde (siehe oben) das /y hinter Copy weglassen.

  • Copy aus Winblows kennt zwar den Schalter /y - den es aber in Scripten eh nicht braucht
  • Kixtart kennt und braucht den nicht.

btw: Warum du den einen Teil von der Citrix Anpassung direkt auf die Clientkiste und den zweiten auf das (Profilverzeichnis?) legst - ist mir nicht ganz klar.

"%userprofile%\Desktop\"

Gruß
Heysel
Heysel 14.10.2009 um 11:00:29 Uhr
Goto Top
Hallo Timo

ich muss doch nochmal nachfragen. Ich habe das Skript nun wie folgt geschieben aber es passiert nichts. Er gibt nicht mal einen Fehler aus. Die Laufwerke werden gemappt und Drucker verbunden. Die Kopier aktionen führt er aber garnicht aus. Einmal hat das mit dem erstellen des Ordners auf dem Desktop geklappt, dann habe ich ihn gelöscht um es nochmal zu testen aber dann hat er diesen ordner nie wieder erstellt. auch die APPSRV.INI wird nicht gelöscht oder kopieret. ganz komisch.

Hier das Skript...

;-----------------------------------Anmeldeskript der Firma-----------------------------------------------
;----------------------------------------erstellt mit Kixstart----------------------------------------------------
;-----------------------------------------------------------------------------------------------------------------
;-----------------------------------Basisskript konfigurationen---------------------------------------------------
;-----------------------------------------------------------------------------------------------------------------
break on    ; on/off

;-----------------------------------------------------------------------------------------------------------------
;-----------------------------------Anmeldeskriptteil für Terminalserver------------------------------------------
;-----------------------------------------------------------------------------------------------------------------

;-----------------------------------------------------------------------------------------------------------------
;-----------------------------------Ausühren der OPS Datei wenn man ein TS User ist-------------------------------
;-----------------------------------------------------------------------------------------------------------------

run "%logonserver%\NETLOGON\proflwiz.exe /r Y:\Windows\eui.ops /p"

;-----------------------------------------------------------------------------------------------------------------
;-----------------------------------Kopieren der Vectus_Live APPSRV.INI------------------------------------------------- 
;-----------------------------------------------------------------------------------------------------------------

if ingroup("APP_Vectus_LIVE")

;Erstellen des Verzeichnisses bei einem neuen User
md "%appdata%\Icaclient\"

; Löschen einer eventuell schon vorhandenen Datei
del "%appdata%\Icaclient\APPSRV.INI"

;Kopieren der APPSRV.INI vom Netlogon-Verzeichnis eines DCs
copy  "%logonserver%\NETLOGON\Citrix_APPs\Vectus_Live\APPSRV.INI" "%appdata%\Icaclient\"

; Zum testen welche APPSRV.INI kopiert wurde...
copy "%appdata%\Icaclient\APPSRV.INI" "y:\desktop\test\Live\"

; Kopiert dem User den Link auf den Desktop
copy  "%logonserver%\NETLOGON\Citrix_APPs\Vectus_Live\Vectus.lnk" "y:\desktop\"

; Zum testen welche Verknüpfung kopiert wurde...
copy  "%logonserver%\NETLOGON\Citrix_APPs\Vectus_Live\Vectus.lnk" "y:\desktop\test\Live\"

endif

;-----------------------------------------------------------------------------------------------------------------
;-----------------------------------Kopieren der Appsrv.ini für Live- und Test- Umgebung--------------------------
;-----------------------------------------------------------------------------------------------------------------

if ingroup("APP_Vectus_TEST")

;Erstellen des Verzeichnisses bei einem neuen User
md "%appdata%\Icaclient\"

; Löschen einer eventuell schon vorhandenen Datei
del "%appdata%\Icaclient\APPSRV.INI"

;Kopieren der APPSRV.INI vom Netlogon-Verzeichnis eines DCs
copy "%logonserver%\NETLOGON\Citrix_APPs\Vectus_Test\APPSRV.INI" "%appdata%\Icaclient\"

; Zum testen welche APPSRV.INI kopiert wurde...
copy "%appdata%\Icaclient\APPSRV.INI" "y:\desktop\test\Test\"

; Kopiert dem User den Link auf den Desktop
copy "%logonserver%\NETLOGON\Citrix_APPs\Vectus_Test\Vectus_Test.lnk" "y:\Desktop\"

; Zum testen welche Verknüpfung kopiert wurde...
copy "%logonserver%\NETLOGON\Citrix_APPs\Vectus_Test\Vectus_Test.lnk" "y:\desktop\test\Test\"

endif

;-----------------------------------------------------------------------------------------------------------------
;-----------------------------------Anmeldeskriptteil für Fat-Clients und der für Terminalserver------------------
;-----------------------------------------------------------------------------------------------------------------



;-----------------------------------------------------------------------------------------------------------------
;-----------------------------------Entfernen der vorhandenen Netzlaufwerke---------------------------------------
;-----------------------------------------------------------------------------------------------------------------

use  I: /delete 
use  M: /delete
use  N: /delete
use  P: /delete
use  Q: /delete
use  S: /delete 

;-----------------------------------------------------------------------------------------------------------------
;-----------------------------------Mappen der Globalen Laufwerke-------------------------------------------------
;-----------------------------------------------------------------------------------------------------------------

use I: "\\Domäne.local\Data\Groups\"

;use Y: "\\Domäne.local\data\users\%Profile%"

;-----------------------------------------------------------------------------------------------------------------
;-----------------------------------Mappen der individuellen Laufwerke--------------------------------------------
;-----------------------------------------------------------------------------------------------------------------



if ingroup("Ordner-PDF-Suche")
use P: "\\192.168.130.3\PDF_Index"
endif


if ingroup("Ordner-Software-Deployment")
use Q: "\\192.168.130.3\Deployment"
endif


if ingroup("Ordner-Software-Archiv")
use S: "\\192.168.130.3\Software"
endif


;-----------------------------------------------------------------------------------------------------------------
;-----------------------------------Mappen der Drucker über die Printerpushconnection von MS----------------------
;-----------------------------------------------------------------------------------------------------------------

run z:\pushprinterconnections.exe

60730
60730 14.10.2009 um 13:35:22 Uhr
Goto Top
ui, da kriegt man ja Augenkrebs...

Lass das ganze doch mal mit
kix32 deinkixscript /d
laufen und schau auf die obere Zeile.

ob run - oder shell der bessere Weg ist - solltest du auch mal testen.

Warum run \"%logonserver%\\NETLOGON\\proflwiz.exe /r Y:\\Windows\\eui.ops /p\"
da ein y:\\windows steht - und wo das y herkommt - verstehe ich nicht?

Auch das ganze handling ist etwas flüssiger, wenn nur dann etwas passieren soll - wenn es nötig ist.


break on    ; on/off 

 

;Anmeldeskriptteil für Terminalserver

;Ausühren der OPS Datei wenn man ein TS User ist


shell "%logonserver%\NETLOGON\proflwiz.exe /r Y:\Windows\eui.ops /p"   


if (ingroup("APP_Vectus_LIVE") or ingroup("APP_Vectus_TEST"))  
	if existdir("%appdata%\Icaclient\") <> "0"  
		md "%appdata%\Icaclient\"  
	endif 
	if (ingroup("APP_Vectus_LIVE")  
		del "%appdata%\Icaclient\APPSRV.INI"  
		copy "%logonserver%\NETLOGON\Citrix_APPs\Vectus_Live\APPSRV.INI" "%appdata%\Icaclient\"  
		copy "%logonserver%\NETLOGON\Citrix_APPs\Vectus_Live\Vectus.lnk" "%userprofile%\desktop\"   
	endif

	if ingroup("APP_Vectus_TEST")  
		del "%appdata%\Icaclient\APPSRV.INI"  
		copy "%logonserver%\NETLOGON\Citrix_APPs\Vectus_Test\APPSRV.INI" "%appdata%\Icaclient\"  
		copy "%logonserver%\NETLOGON\Citrix_APPs\Vectus_Test\APPSRV.INI" "%userprofile%\desktop\"  
	endif

endif

;Anmeldeskriptteil für Fat-Clients und der für Terminalserver
;Entfernen der vorhandenen Netzlaufwerke

use  I: /delete  
use  M: /delete 
use  N: /delete 
use  P: /delete 
use  Q: /delete 
use  S: /delete  

;Mappen der Globalen Laufwerke
;
;
use I: "\\Domäne.local\Data\Groups\"   
;use Y: "\\Domäne.local\data\users\%Profile%"   

;Mappen der individuellen Laufwerke

if ingroup("Ordner-PDF-Suche")   
	use P: "\\192.168.130.3\PDF_Index"   
endif 

if ingroup("Ordner-Software-Deployment")   
	use Q: "\\192.168.130.3\Deployment"   
endif 

if ingroup("Ordner-Software-Archiv")   
	use S: "\\192.168.130.3\Software"   
endif 

;Mappen der Drucker über die Printerpushconnection von MS

run z:\pushprinterconnections.exe 

ändere mal deinen Beitrag - dass die Scriptzeilen in stehen. Und \"versuche mal zwischen if und endif alles einzurücken - siehe oben bei mir.

\"dann\" nehm ich mir noch mal Zeit dafür. (edit - fleissaufgabe für heute erfüllt)

Gruß