Jak uruchomić skrypt PowerShell?
- Mam skrypt o nazwie myscript.ps1
- Mam zainstalowane wszystkie niezbędne frameworki
- Ustawić, że polityka realizacji rzeczą
- Postępowałem zgodnie z instrukcjami na tej stronie pomocy MSDN
i próbuję uruchomić go w następujący sposób:
powershell.exe 'C:\my_path\yada_yada\run_import_script.ps1'
(z lub bez--noexit
)
który zwraca dokładnie nic, z wyjątkiem tego, że nazwa pliku jest wyprowadzana.
Bez błędu, bez wiadomości, nic. Och, kiedy dodam -noexit
, dzieje się to samo, ale pozostaję w PowerShell i muszę wyjść ręcznie.
Plik .ps1 ma uruchamiać program i zwracać poziom błędu w zależności od wyniku tego programu. Ale jestem całkiem pewien, że jeszcze się tam nie dostaję.
Co ja robię źle?
windows
powershell
scripting
Pekka
źródło
źródło
powershell
tak, jak byś zacząłcmd
. Teraz możesz wykonaćmyscript.ps1
skrypt jako dowolny plik wykonywalny (w oknie programu PowerShell), tj..\myscript.ps1
Odpowiedzi:
PS
aż pojawi się wiersz poleceniaPrzejdź do katalogu, w którym mieszka skrypt
Uruchom skrypt:
Czego mi brakuje??
Lub: możesz uruchomić skrypt PowerShell z
cmd.exe
następującego:zgodnie z tym postem na blogu tutaj
Lub możesz nawet uruchomić skrypt PowerShell z aplikacji C # :-)
Asynchronicznie wykonuj skrypty PowerShell z aplikacji C #
źródło
powershell -noexit "& "C:\yada_yada\run_import_script.ps1"
(zauważ trzy podwójne cytaty). Naprawdę nie rozumiem dlaczego, ale w tym momencie nie obchodzi mnie to :) Bardzo dziękuję!"&
?powershell -executionpolicy bypass ".\myscript.ps1 yadayadayada"
Jeśli korzystasz z programu PowerShell 2.0, użyj
-File
parametru PowerShell.exe, aby wywołać skrypt z innego środowiska, na przykład cmd.exe. Na przykład:źródło
-ExecutionPolicy Bypass
Jeśli chcesz uruchomić skrypt bez modyfikowania domyślnej zasady wykonywania skryptu, możesz użyć przełącznika obejścia podczas uruchamiania programu Windows PowerShell .
źródło
-nologo
Rodzaj:
powershell -executionpolicy bypass -File .\Test.ps1
UWAGA: Oto
Test.ps1
skrypt PowerShell.źródło
powershell -executionpolicy bypass -File .\Test.ps1
zakładając, że bieżący katalog roboczy zawiera Test.ps1Miałem ten sam problem i próbowałem i próbowałem ... W końcu użyłem:
I umieść tę linię w pliku wsadowym i to działa.
źródło
Jeśli masz tylko PowerShell 1.0 , wydaje się, że to wystarczy.
Potokuje plik skryptu do wiersza polecenia programu PowerShell.
źródło
Całkiem łatwe. Kliknij prawym przyciskiem myszy plik .ps1 w systemie Windows, aw menu powłoki kliknij polecenie Uruchom z PowerShell .
źródło
Za pomocą pliku cmd (BAT):
Jeśli potrzebujesz uruchomić jako administrator :
źródło
Prostym sposobem jest użycie programu PowerShell ISE , otwarcie skryptu, uruchomienie i wywołanie skryptu, funkcja ...
źródło
Jeśli skrypt ma nazwę z
.ps1
rozszerzeniem i jesteś w oknie programu PowerShell, po prostu uruchom./myscript.ps1
(zakładając, że plik znajduje się w katalogu roboczym).Tak jest i tak dla mnie w systemie Windows 10 z PowerShell w wersji 5.1 i nie sądzę, że zrobiłem nic, aby było to możliwe.
źródło
myscript.ps1
nie działało, zgłosił błąd, ale z./
jego wykonaniem.Podaj ścieżkę skryptu, to znaczy ustawienie ścieżki przez cmd:
$> . c:\program file\prog.ps1
Uruchom funkcję punktu wejścia programu PowerShell:
Na przykład,
$> add or entry_func or main
źródło
>$ . c:\program file\prog.ps1 '.' is not recognized as an internal or external command, operable program or batch file.
oraz>$ add or entry_func or main 'add' is not recognized as an internal or external command, operable program or batch file.
Jeśli chcesz uruchomić skrypt PowerShell z Harmonogramem zadań systemu Windows, wykonaj następujące czynności:
Utwórz zadanie
Ustaw
Program/Script
naPowershell.exe
Ustaw
Arguments
na-File "C:\xxx.ps1"
Pochodzi z innej odpowiedzi: Jak wykonać skrypt PowerShell automatycznie przy użyciu harmonogramu zadań systemu Windows? .
źródło
Użyj
-File
parametru przed nazwą pliku. Cytaty sprawiają, że PowerShell myśli, że to ciąg poleceń.źródło
Mam bardzo prostą odpowiedź, która działa:
set-executionpolicy unrestricted
Znalazłem to rozwiązanie, korzystając z linku podanego w ramach komunikatu o błędzie: Informacje o zasadach wykonywania
źródło