OPSI "execwith" ?

XxDeadLiiNexX
Beiträge: 13
Registriert: 29 Apr 2014, 11:56

OPSI "execwith" ?

Beitrag von XxDeadLiiNexX »

Guten Tag,

In den OPSI Handbüchern hab ich die Funktion "execwith" gefunden, mit ihr kann man sozusagen Skript Sprachen wie z.B Powershell einbinden und
sich denn Output direkt in die Logs holen. Was für mich natürlich perfekt wäre, da ich ein ziemlicher Powershell Nerd bin! :-)

Da in den Handbüchern nur 1 Seite dokumentiert ist und kein Beispiel zu finden ist, wollte ich euch mal fragen.

Wie würde so ein Paket aussehen, weches mit einem Powershell Skript verknüpft ist. Könnte mir jemande
eine ausführliche Erklärung schreiben, Handbücher usw. hab ich natürlich zuerst durchsucht bevor ich drauf los poste.

Lg XxDeadLiiNexX
Benutzeravatar
Thomas_H
Beiträge: 525
Registriert: 09 Jun 2010, 11:57
Wohnort: Havelland

Re: OPSI "execwith" ?

Beitrag von Thomas_H »

Moinsens,

ich habe selbst noch nicht mit execwith arbeiten müssen. Könnte mir aber vorstellen, dass es analog der call-Anweisung ist. Während jedoch die call-Anweisung lediglich eine Unterfunktion aufruft, wird bei execwith eben ein externes Script oder Programm aufgerufen, während das eigentliche Installationsscript abwartet, bis das durch execwith aufgerufene Script abgearbeitet ist.

Wüßte nun aber im Moment keine wirklich sinnvolle Anwendung.

Gruß

Thomas_H
Kennst Du schon die WIKI für OPSI-Scripte? Fertige Installationsscripte bekommen und ablegen unter OPSI-Wiki
Aus dem Glashaus :) : UIB bietet auch Schulungen und Supportverträge für Opsi an.
Bild
Benutzeravatar
SisterOfMercy
Beiträge: 1556
Registriert: 22 Jun 2012, 19:18

Re: OPSI "execwith" ?

Beitrag von SisterOfMercy »

Thomas_H hat geschrieben:ich habe selbst noch nicht mit execwith arbeiten müssen. Könnte mir aber vorstellen, dass es analog der call-Anweisung ist. Während jedoch die call-Anweisung lediglich eine Unterfunktion aufruft, wird bei execwith eben ein externes Script oder Programm aufgerufen, während das eigentliche Installationsscript abwartet, bis das durch execwith aufgerufene Script abgearbeitet ist.
Wüßte nun aber im Moment keine wirklich sinnvolle Anwendung.
You can use it for autoit scripts. Look at the .net 4 framework:
wiki/userspace:netfx_4.0
If you don't do it like this the installation will hang and not continue.
Bitte schreiben Sie Deutsch, when I'm responding in the German-speaking part of the forum!
Benutzeravatar
Thomas_H
Beiträge: 525
Registriert: 09 Jun 2010, 11:57
Wohnort: Havelland

Re: OPSI "execwith" ?

Beitrag von Thomas_H »

Moinsens...
SisterOfMercy hat geschrieben:
Thomas_H hat geschrieben:ich habe selbst noch nicht mit execwith arbeiten müssen.
You can use it for autoit scripts. Look at the .net 4 framework:
wiki/userspace:netfx_4.0
If you don't do it like this the installation will hang and not continue.
Wer haut mich denn da mit meinen eigenen Scripten? Ts... Ts... Ts... ;)

Aber stimmt... :)

Gruß

Thomas_H
Kennst Du schon die WIKI für OPSI-Scripte? Fertige Installationsscripte bekommen und ablegen unter OPSI-Wiki
Aus dem Glashaus :) : UIB bietet auch Schulungen und Supportverträge für Opsi an.
Bild
dkoch
Beiträge: 309
Registriert: 25 Nov 2011, 14:03

Re: OPSI "execwith" ?

Beitrag von dkoch »

Hier ein Beispiel mit Ruby:

Script:

Code: Alles auswählen

ExecWith_Test "%SystemDrive%\Ruby\bin\ruby.exe"

[ExecWith_Test]
10.times do
  puts "Hello"
end
Log:

Code: Alles auswählen

[5] [Jun 12 21:27:28:688] [test] Execution of ExecWith_Test
[6] [Jun 12 21:27:28:689] [test]   c:\opsi.org\tmp\_winstbat_1.bat saved back
[6] [Jun 12 21:27:28:689] [test]   Executing "C:\Ruby\bin\ruby.exe"  "c:\opsi.org\tmp\_winstbat_1.bat"  
[6] [Jun 12 21:27:28:782] [test]   ExitCode 0
[6] [Jun 12 21:27:28:782] [test]               
[6] [Jun 12 21:27:28:782] [test]               output:
[6] [Jun 12 21:27:28:782] [test]               --------------
[6] [Jun 12 21:27:28:782] [test]               Hello
[6] [Jun 12 21:27:28:782] [test]               Hello
[6] [Jun 12 21:27:28:782] [test]               Hello
[6] [Jun 12 21:27:28:782] [test]               Hello
[6] [Jun 12 21:27:28:782] [test]               Hello
[6] [Jun 12 21:27:28:782] [test]               Hello
[6] [Jun 12 21:27:28:782] [test]               Hello
[6] [Jun 12 21:27:28:782] [test]               Hello
[6] [Jun 12 21:27:28:782] [test]               Hello
[6] [Jun 12 21:27:28:782] [test]               Hello
[6] [Jun 12 21:27:28:782] [test]   
[6] [Jun 12 21:27:28:790] [test] Delete "c:\opsi.org\tmp\_winstbat_*"
[6] [Jun 12 21:27:28:790] [test]   Search "c:\opsi.org\tmp\"
[6] [Jun 12 21:27:28:790] [test]   File "c:\opsi.org\tmp\_winstbat_1.bat"
[6] [Jun 12 21:27:28:790] [test]     The file has been deleted
[1] [Jun 12 21:27:28:790] [test] ___________________
[1] [Jun 12 21:27:28:790] [test] script finished
[1] [Jun 12 21:27:28:790] [test] 0 errors
[1] [Jun 12 21:27:28:790] [test] 0 warnings
Benutzeravatar
ueluekmen
uib-Team
Beiträge: 1940
Registriert: 28 Mai 2008, 10:53

Re: OPSI "execwith" ?

Beitrag von ueluekmen »

Hi,

wichtig ist, dass der Interpreter auf dem Client existiert.

Bei Powershell kommt noch hinzu, dass du unterscheiden musst, welche Powershell-Version du hast. Das ist über den Namen des Interpreters nicht direkt zu sehen. Kleiner Tip noch, Powershell ist in der Regel nicht aktiv, also sollte man, wenn man viel mit OPSI und Powershell machen will, die Execution-Policy checken, um sicher zu stellen, dass der Client auch wirklich Powershell sprechen darf.


Vielen Dank für die Nutzung von opsi. Im Forum ist unser Support begrenzt.

Für den professionellen Einsatz und individuelle Beratung empfehlen wir einen Support-Vertrag und eine Schulung.
Gerne informieren wir Sie zu unserem Angebot.

uib GmbH
Telefon: +49 6131 27561 0
E-Mail: sales@uib.de


XxDeadLiiNexX
Beiträge: 13
Registriert: 29 Apr 2014, 11:56

Re: OPSI "execwith" ?

Beitrag von XxDeadLiiNexX »

Guten Tag zusammen! (Und eventuell Mahlzeit gg*)

Danke für die Antworten, hat mir weitergeholfen.

Wen nich das jetzt richtig verstehe dann:

1.) navigiere ich am OPSI Server in meine "Setup.ins" Datei und
2.) dort gebe ich zu beginn mit "ExecWith_Test "Patj\to\powershell.exe" ein.
3.) Anschließend erstellt ich: "[ExecWith_Test]" und kann dort in der Skript Sprache schon programmieren?

Lg!
dkoch
Beiträge: 309
Registriert: 25 Nov 2011, 14:03

Re: OPSI "execwith" ?

Beitrag von dkoch »

yes!

Wenn dir das nicht passt und du den Code lieber in einer eigenen Datei haben willst kannst du auch einen foo.ps1 anlegen die mit [ExecWith_Test] beginnt und diese aus dem Winst-Script im Include_Append "%ScriptPath%\foo.ps1 "anhängen". Das verhalten ist dann genau das gleiche. Bringt den Vorteil, dass dein System und Editor merkt das es sich hier um Powershell handelt.
Benutzeravatar
ueluekmen
uib-Team
Beiträge: 1940
Registriert: 28 Mai 2008, 10:53

Re: OPSI "execwith" ?

Beitrag von ueluekmen »

Der Vorteil von einer execWith ist, dass man in diesen Sektionen WINST-Variablen verwenden kann. Diese werden falls möglich im fremden Code ersetzt und danach wird der Code an den eigentlichen Interpreter übergeben. Das ist sehr nützlich, wenn man von diversen Winst-Funktionen Informationen im eigentlichen Skript verwenden will.


Vielen Dank für die Nutzung von opsi. Im Forum ist unser Support begrenzt.

Für den professionellen Einsatz und individuelle Beratung empfehlen wir einen Support-Vertrag und eine Schulung.
Gerne informieren wir Sie zu unserem Angebot.

uib GmbH
Telefon: +49 6131 27561 0
E-Mail: sales@uib.de


dkoch
Beiträge: 309
Registriert: 25 Nov 2011, 14:03

Re: OPSI "execwith" ?

Beitrag von dkoch »

Genau
Das habe ich vor kurzem auch hier erläutert wenn du ein Beispiel brauchst
Antworten