mayho33
Goto Top

An Powershell 2.0 script übergebene Argumente a eingebundenes Modul psm1 weiterleiten

Hallo @ All

Wir stellen wegen SCCM 2012 und Windows 8 langsam um auf Powershell. Die ganzen Funktionalitäten die bisher in script.vbs und Modul.inc abgearbeitet wurden sollen in Powersehll übernommen werden.

Mein Problem:

Wir rufen für die automatisierte Installation von Software eine VBS auf in der alle "Doings" stehen. die VBS bindet ein INC-Modul ein (nicht wirklich ein Modul) in dem alle Funktionen abgelegt sind die die eigentliche Arbeit machen. Unter anderem die Parameter auslesen mit denen die VBS aufgerufen wird:

BSP: Install.vbs /nomsg /noreboot (/nomsg = Keine Verständigung des Users, /noreboot = reboot wird unterbunden auch wenn ein Programm das verlangt)

Bisher war der Vorgang so, dass die Funktion für das Auslesen der Argumente die an die VBS in der Commandline übergeben werden (ist im Modul abgelegt), einfach angestoßen wurde >>ReadArguments<< und die Funktion hat die Argumente geholt (Set objArgs = WScript.Arguments) und entsprechend weiter verarbeitet.

Da wir keinen VBS-Code in Powershell verwenden wollen, bzw. so weit wie möglich verhindern wollen, suche ich beinahe verzweifelt an einer entsprechen Möglichkeit in Powershell. Finde aber nicht viel.

Hat eventuell einer von Euch eine idee wie ich das umsetzen könnte?

Danke für die Hilfe!

Mayho

PS: wegen der Abwärtskompatibilität zu XP (derzeit immer noch vorhanden) ist PS 2.0 - kopatibilität erforderlich

EDIT:

habe die Losung gefunden. Ist etwas umständlich aber besser als nichts:

1) Powershell.exe script.ps1 Arg1 Arg2 Arg3
2) Im Script.ps1 den Code am Anfang: ForEach ($arg in $args) {$CommandlineParams = $CommandlineParams + $arg + "|"}
3) FUNCTION ([string]$CommandlineParams)
4) den String auswerten

Bin aber gerne für Verbesserungesvorschläge offen!

Grüße!!

Content-ID: 208047

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

Printed on: October 6, 2024 at 16:10 o'clock

colinardo
colinardo Jun 15, 2013 at 06:24:59 (UTC)
Goto Top
Hallo mayho33,
alles über commandline Parameter der Powershell kannst du hier nachlesen:
https://devcentral.f5.com/blogs/us/powershell-abcs-p-is-for-parameters#. ...

Grüsse Uwe
mayho33
mayho33 Jun 17, 2013 at 13:38:18 (UTC)
Goto Top
Hi colinardo!

Ja, Danke! habe ich bereits früher schon gesehen, aber erst nach 2ter Durchsicht (nachdem ich deinen Beitrag gelesen habe), habe ich gelesen, dass Argumente aus der Power-"Shell" ganz easy in $args eingelesen werden können. Langsamer lesen....

Natürlich gleich übernommen face-smile

Grüße!

Mayho