Jak uruchomić skrypt PowerShell?

Jak uruchomić skrypt PowerShell?

  • mam skrypt o nazwie myscript. ps1
  • mam zainstalowane wszystkie niezbędne frameworki
  • I set that execution policy thing
  • postępowałem zgodnie z instrukcjami na tej stronie pomocy MSDN i staram się to prowadzić w ten sposób: powershell.exe 'C:\my_path\yada_yada\run_import_script.ps1' (z lub bez --noexit)

Który nie zwraca dokładnie nic, z wyjątkiem tego, że nazwa pliku jest output. Żadnego błędu, żadnej wiadomości, nic. Kiedy dodam -noexit, to samo zdarza się, ale pozostaję w PowerShell i muszę wyjść ręcznie.

Plik ps1 ma uruchamiać program i zwracać poziom błędu zależny od wyniku tego programu. Ale jestem całkiem pewien, że nawet nie dojdę tam jeszcze.

Co robię źle?
Author: RBT, 2010-01-10

13 answers

  1. Uruchom Windows PowerShell i poczekaj chwilę, aż pojawi się wiersz polecenia PS
  2. Przejdź do katalogu, w którym znajduje się skrypt

    PS> cd C:\my_path\yada_yada\ (enter)
    
  3. Wykonaj skrypt:

    PS> .\run_import_script.ps1 (enter)
    

Co mi umyka??

Lub: możesz uruchomić skrypt PowerShell z cmd.exe w następujący sposób:

powershell -noexit "& ""C:\my_path\yada_yada\run_import_script.ps1""" (enter)

Zgodnie z tym blog post tutaj

Lub możesz nawet uruchomić skrypt Powershell z aplikacji C# :-)

Asynchronicznie wykonuj skrypty PowerShell z aplikacji C#

 561
Author: marc_s,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-17 06:34:45

Jeśli korzystasz z PowerShell 2.0, użyj PowerShell.parametr EXE-File do wywołania skryptu z innego środowiska jak cmd.exe np.:

Powershell.exe -File C:\my_path\yada_yada\run_import_script.ps1
 175
Author: Keith Hill,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-06-23 21:48:18

Jeśli chcesz uruchomić skrypt bez modyfikowania domyślnych zasad wykonywania skryptów, możesz użyć przełącznika bypass podczas uruchamiania Windows PowerShell.

powershell [-noexit] -executionpolicy bypass -File <Filename>
 146
Author: Chingiz Musayev,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-01-30 22:23:06

Typ:

powershell -executionpolicy bypass -File .\Test.ps1

Uwaga: tutaj Test.ps1 znajduje się skrypt PowerShell.

 50
Author: Sudheesh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-03-26 19:21:27

Miałem ten sam problem i próbowałem... W końcu użyłem:

powershell.exe -noexit "& 'c:\Data\ScheduledScripts\ShutdownVM.ps1'"

I umieścić ten wiersz w pliku wsadowym, i to działa.

 25
Author: Dennis,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-11-30 23:27:07

Jeśli masz tylko PowerShell 1.0 , to wygląda na to, że wystarczy:

powershell -command - < c:\mypath\myscript.ps1

Wysyła plik skryptu do Wiersza poleceń PowerShell.

 20
Author: AndyM,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-11-30 23:27:46

Łatwym sposobem jest użycie PowerShell ISE, otwarcie skryptu, uruchomienie i wywołanie skryptu, funkcji...

Tutaj wpisz opis obrazka

 9
Author: Jose Evaristo Cepeda Barrera,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-02 10:29:56

Użycie pliku cmd (BAT):

@echo off
color 1F
echo.

C:\Windows\system32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -File "PrepareEnvironment.ps1"

:EOF
echo Waiting seconds
timeout /t 10 /nobreak > NUL

Jeśli potrzebujesz Uruchom jako administrator :

  1. zrobić skrót wskazujący na wiersz polecenia (nazwałem go Administracyjny Wiersz Polecenia)
  2. otwórz właściwości skrótu i przejdź do zakładki kompatybilność
  3. w sekcji Poziom uprawnień upewnij się, że pole wyboru obok opcji "Uruchom ten program jako administrator" jest zaznaczone
 8
Author: Kiquenet,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-11-17 09:04:06

Całkiem proste. Kliknij prawym przyciskiem myszy plik. ps1 w systemie Windows, a w menu powłoki Kliknij Uruchom za pomocą PowerShell .

 7
Author: electronictonic,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-02 10:27:56
  • Podaj ścieżkę skryptu, czyli ustawienie ścieżki przez cmd:

    $> . c:\program file\prog.ps1

  • Uruchom funkcję punktu wejścia PowerShell:

    Na przykład, $> add or entry_func or main

 6
Author: pkm,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-11-30 23:29:00

Jeśli twój skrypt ma nazwę z rozszerzeniem .ps1 i jesteś w oknie PowerShell, po prostu uruchom ./myscript.ps1 (zakładając, że plik znajduje się w Twoim katalogu roboczym).

To prawda i tak na Windows 10 z PowerShell w wersji 5.1 i tak, i nie sądzę, że zrobiłem coś, aby to było możliwe.

 5
Author: rainabba,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-02 10:28:31

Jeśli chcesz uruchomić skrypt Powershell z harmonogramem zadań systemu Windows, wykonaj poniższe kroki:

  1. Tworzenie zadania

  2. Ustaw Program/Script Na Powershell.exe

  3. Ustaw Arguments na -File "C:\xxx.ps1"

To z innego wątku odpowiedzi https://stackoverflow.com/a/23954618/3378204

 2
Author: Gearon,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-05-24 08:07:34

Użyj parametru-File przed nazwą pliku. Cytaty sprawiają, że powershell myśli, że jest to ciąg poleceń.

 0
Author: Engineer,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-08-01 11:17:33