Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Frage Entwicklung Batch & Shell

GELÖST

Ps1 und Commandline-Argumente like vbscript oder CMD

Mitglied: mayho33

mayho33 (Level 2) - Jetzt verbinden

27.06.2014, aktualisiert 17:54 Uhr, 2300 Aufrufe, 7 Kommentare

Hallo @ All

Eventuell ist mein Ansatz komplett falsch, aber ich versuche folgendes Problem zu lösen und hoffe wieder mal auf Eure Hilfe:

Wir haben eine Install-Wrapper als cmdlet. Der enthält alle Funktionen usw. die wir zur Umsetzung der Installationen via SCCM 2012 R2 benötigen und ist lokal auf jedem Client installiert (installierte Applikationen auslesen, Deinstallieren, Installieren, usw.)

Angestoßen wird das ganze nun über eine "INSTALL.PS1" in der der Wrapper gesteuert wird.


vereinfachtes, symbolisches Beispiel der Install.ps1:
$env:_BootMode = "reboot"
$env:_NotificationMode = "silent"
$env:_InstallMode = "uninstall"
$env:_Kontext = "machine"

Start-Wrapper -Uninstall "Adobe Reader*"
Start-Wrapper -Uninstall "Irgend eine andere App"
Start-Wrapper -Install "$cdir\Paketname\ProgrammA.msi"
Start-Wrapper -Install "$cdir\Paketname\ProgrammB.exe" -Arguments "/VERYSILENT"
Start-Wrapper -RemoveShortCut ....
usw.

nun kommt es vor, dass z.B. bei einem Paket im Script (INSTALL.PS1) ein angegebener Reboot deaktiviert werden soll. Dazu möchte ich einfach im Program des SCCM-Pakets einen Parameter mitgeben können um nicht extra das Script ändern und somit ein Update der Distribution-Points antriggern zu müssen.

Bsp:
1cf56880bf094a77905dc3aef3478ebd - Klicke auf das Bild, um es zu vergrößern


Irgendwie stehe ich da aber vor einem unlösbaren Problem. Wenn ich der Install.ps1 testweise ein paar Argumente mitgebe, habe ich diese zwar in $args gespeichert und kann sie ausgeben, aber ich kann sie nicht weiterverarbeiten oder an den Wrapper übergeben.

Hat eventuell jemand einen Ansatz oder Lösungsvorschlag? Die Install.PS1 beinhaltet absichtlich keine Functions usw. sondern nur die Schritte die abgearbeitet werden soll. jede Logik ist in den Wrapper (CMDLET) ausgelagert.

Danke für eure Hilfe!

mayho
Mitglied: colinardo
27.06.2014, aktualisiert um 17:35 Uhr
Hallo mayho,
also wenn du im INSTALL.ps1 auf die Parameter bzw. Werte zugreifen kannst sollten sie auf jeden Fall auch an ein CMDlet weitergereicht werden können. Anstatt $args kannst du in der INSTALL.ps1 ganz am Anfang:
param($par1,$par2)
usw. deine gewünschten Parameter definieren, in dann in der INSTALL.ps1 an deinen Wrapper via Parameter übergeben .

Wie man Parameter korrekt an eine PS1 Datei übergibt kannst du hier nachlesen:
http://stackoverflow.com/questions/6359618/pass-parameter-from-batch-fi ...

Grüße Uwe
Bitte warten ..
Mitglied: Pjordorf
27.06.2014 um 17:14 Uhr
Hallo Uwe,

Zitat von colinardo:
Mir hat mein Sophos gerade gesagt das sich in dein Link ein Troj/JSRedir-OL versteckt. Oder spinnt mein Sophos?

Gruß,
Peter
Bitte warten ..
Mitglied: mayho33
27.06.2014 um 17:19 Uhr
Hallo Uwe (alias Lebensretter?)!

Also wenn du nicht wärst...Hast mir ja schon öfter aus der patsche geholfen. Werde ich mir Zuhause zu Gemüte führen. Vorausgesetzt mein AV sagt mir nicht das gleiche:
a023dfde4024581c52fed66c8a9501da - Klicke auf das Bild, um es zu vergrößern

lg Christian
Bitte warten ..
Mitglied: colinardo
27.06.2014, aktualisiert um 17:27 Uhr
Komisch die Seite hatte ich bisher immer ohne Probleme benutzt, die Virenscanner sind sich da zumindest nicht alle Einig:
https://www.virustotal.com/de/url/dfd0e9269fa2369236962117e42bb912c45843 ...
Die Mehrheit hält es für unbedenklich, ich checke das mal. Danke für die Info !
Bitte warten ..
Mitglied: mayho33
27.06.2014 um 17:29 Uhr
Tja, Mein Malwarebites am NB sagt mir ebenfalls: ...Bedrohung...wurde blokiert... usw.
Kannst du die betreffenden Stelle einfach mal Copy-Pasten?

mayho
Bitte warten ..
Mitglied: colinardo
LÖSUNG 27.06.2014, aktualisiert um 18:16 Uhr
Tja, Mein Malwarebites am NB sagt mir ebenfalls: ...Bedrohung...wurde blokiert... usw.
habe die Seite schon länger nicht mehr aufgerufen, und nur in meiner Bookmarkliste gehabt, die fliegt jetzt da raus
Kannst du die betreffenden Stelle einfach mal Copy-Pasten?
Methoden zum Starten von PS-Scripten aus Batch und Kommendozeilen heraus:
Hier gibt es unterschiedliche Methoden, je nach Anforderungen gibt es einige Besonderheiten vor allem bei Leerzeichen in Pfaden zu beachten.
Der einfachste Aufruf sieht hier so aus:
powershell.exe -File "C:\Pfad\Script.ps1"
Wenn man dem Script Parameter übergeben möchte:
powershell.exe -File "C:\Pfad\Script.ps1" "Parameter 1" "Parameter 2"
Wenn man "benannte" Parameter übergeben möchte (die einfachen Hochkommas um den Scriptpfad werden benötigt wenn er Leerzeichen beinhaltet):
powershell.exe -command "&'C:\Pfad\Script.ps1' -par1 'Wert1' -par2 'Wert2'"
Man kann auch mehrere Scripte hintereinander ausführen lassen:
powershell.exe -command "&'C:\Pfad\Script1.ps1';&'C:\Pfad\Script2.ps1'"
Bitte warten ..
Mitglied: mayho33
27.06.2014, aktualisiert um 17:54 Uhr
Danke!

Da war also der "Hund" vergraben. Am Anfang des Script einfach nur die Variable $args angeben. Schon klappts auch mit dem Wrapper. Simpler geht's wohl kaum mehr. An sowas hätte ich im leben nicht gedacht. Suuuper!

grüße, mayho
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Windows Update per .cmd oder .ps1 ausblenden
gelöst Frage von playmenBatch & Shell12 Kommentare

Hallo Ich habe eine Frage. Ist es möglich das Windows Update (KB3035583) mit einem CMD oder ps1 Befehl automatisch ...

VB for Applications
Aufruf einer CMD aus einem VBScript läuft nicht sauber
gelöst Frage von derhoeppiVB for Applications8 Kommentare

Hallo Leute, ich habe ein VBScript, das ein vorhandenes Batch-Skript aufrufen soll. Für den Aufruf der CMD habe ich ...

Batch & Shell
PS1 Skript in EXE
gelöst Frage von 112TimoBatch & Shell4 Kommentare

Hallo Leute, wie der Tietel schon sagt, möchte ich ein PowerShell-Skript (.ps1) in eine funktionsfähige .exe kompilieren. Bitte keine ...

Windows Server
Ps1 Script lauft nicht
gelöst Frage von rainergugusWindows Server8 Kommentare

Hallo, führe ich Zeilen wie würde die eben als Aufgabenplanung gerne hinterlegen. Gruss Rainer

Neue Wissensbeiträge
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 1 TagLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 2 TagenTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 2 TagenSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 2 TagenSicherheit10 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
Batch & Shell
Meltdown Microsoft Prüf Script - .zip Datei leider leer
gelöst Frage von MasterBlaster88Batch & Shell13 Kommentare

Hallo zusammen, ich patche gerade unsere Windows Server bzgl. der Meltdown Lücke. Patch vorhanden, Reg Keys gesetzt Um das ...

Batch & Shell
Shell-Skript - Syntax error: Unterminated quoted string
Frage von newit1Batch & Shell13 Kommentare

Hallo Ich schreibe ein Skript das eine CSV-Datei in eine mySQL Datenbank schieben soll. Bekomme nach start des Skrips ...

E-Mail
Erfahrungen mit hMailServer gesucht
Frage von it-fraggleE-Mail10 Kommentare

Hallo, meine neue Stelle möchte einen eigenen Mailserver. Ich als Linuxkind war direkt geistig mit Postfix dabei. Leider wollen ...

Entwicklung
VBS: alle PDF-Dateien in einem Ordner gleichzeitig öffnen
gelöst Frage von JuweeeEntwicklung9 Kommentare

Hallo, ich habe in deiner Ordnerstruktur (.\Tagesberichte\xx.18\) mehrere dynamische PDF-Formulare (mit LCD erstellt). Die Berichtsformulare sind im Layout alle ...