(kleines) Powershell Skript

Smars

Cadet 4th Year
Registriert
Apr. 2012
Beiträge
107
Hallo,

bin gerade dabei an einem kleinem Skript zu basteln.

Bisher vergleicht mein Skript zwei Dateien aufgrund des Datums der letzten Änderung, die ältere wird dabei von der neueren Datei überschrieben. Anschließend wird ein Programm durch das Skript gestartet.

Das funktioniert bisher auch so wie es soll.

Mich stört jedoch dass das Skript nach dem Start auf eine Eingabe meinerseits wartet, bevor es die Befehle ausführt und das beim starten des Programms das Fenster für das Skript weiterhin aufbleibt.

Meine Frage wäre nun also mit welchen Befehlen / Einstellungen ich das Skript automatisch loslaufen lasse und wie ich das Programm starte, sodass dabei das Skript Fenster automatisch minimiert bzw. beendet wird ohne auch das Programm zu schließen.

Bisherige Ansätze die ich über Google gefunden habe waren leider nicht erfolgreich bzw. für mich nicht nachvollziehbar
 
Was sagt denn die execution policy ? Ist die korrekt gesetzt?

Die Meldung selbst wäre halt auch interessant
 
Wenn ich das Skript aus dem Powershell ISE heraus starte, kriege ich die Meldung das die Ausführung von Skripten auf dem System deaktiviert sind, wenn ich mit Rechtsklick -> Mit Powershell ausführen das Skript starte, habe ich das blaue Fenster und nach drücken der Entertaste wird es auch ausgeführt.

Möglich dass das Skript deshalbt auf eine separate Eingabe wartet.

Werde ich nochmal auf einem anderen Gerät testen müssen.
 
Kann es sein, das es nur die UAC Abfrage ist und das Skript einfach als Administrator gestartet werden muss?
 
Mach ne .bat Datei mit dem Inhalt:

@echo off
start powershell.exe -executionpolicy bypass -windowstyle hidden -noninteractive -nologo -file "script.ps1"

Das script.ps1 muss im gleichen Verzeichnis liegen. Die BATCH einfach mit Admin Rechten starten.
 
Dafür benötigt man keinen Adminkontext. -ExecutionPolicy als Parameter reicht (setzt Session-Kontext).


Alternativ, wenn man mehr mit PS macht bzw machen will: eine PS-Konsole öffnen und da
Code:
 Set-ExecutionPolicy -ExecutionPolicy ByPass -Scope CurrentUser -Verbose -Force
reinfüttern. Dann wird das für dieses Benutzerkonto in die Registry geschrieben und man hat Ruhe.
 
@RalphS
Hat funktioniert, vielen Dank, das Skript läuft nun sobald es aufgerufen wird sofort durch.

@firexs
Ein starten spezifisch als Admin bietet er mir im Kontextmenü nicht an, lediglich den Punkt "Mit Powershell ausführen"

@d2boxSteve
Ich vermute die Batch macht ebenfalls einen Registry Eintrag bezogen auf das Skript?

@All
Das Skript funktioniert nun so wie es soll, startet ohne auf eine weitere Eingabe zu warten und es ist kein Powershell Fenster zu sehen wenn das Programm aufgerufen wird.

Danke für die Hilfe :)
 
Zurück
Oben