web-dev-qa-db-ja.com

PowerShellスクリプトを実行する方法

PowerShellスクリプトを実行する方法

  • Myscript.ps1という名前のスクリプトがあります。
  • 必要なフレームワークをすべてインストールしました
  • 実行ポリシー thingと設定しました
  • 私は このMSDNヘルプページ の指示に従っており、そのように実行しようとしています。powershell.exe 'C:\my_path\yada_yada\run_import_script.ps1'--noexitの有無にかかわらず)

ファイル名が出力されることを除いて、これはまったく何も返しません。

エラーなし、メッセージなし、なしああ、私は-noexitを追加するとき、同じことが起こります、しかし私はPowerShellの中に残り、手動で終了しなければなりません。

.ps1ファイルはプログラムを実行し、そのプログラムの出力に応じてエラーレベルを返します。しかし、まだそこにたどり着いていないと確信しています。

何がおかしいのですか?

624
Pekka 웃
  1. Windows PowerShellを起動し、PSコマンドプロンプトが表示されるまで少し待ちます。
  2. スクリプトが存在するディレクトリに移動します。

    PS> cd C:\my_path\yada_yada\ (enter)
    
  3. スクリプトを実行します。

    PS> .\run_import_script.ps1 (enter)
    

何が足りないの?

または、cmd.exeから次のようにPowerShellスクリプトを実行できます。

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

これによると ブログ記事はこちら

あるいは、C#アプリからPowershellスクリプトを実行することもできます。

C#アプリケーションからPowerShellスクリプトを非同期的に実行します

660
marc_s

PowerShell 2.0を使用している場合は、PowerShell.exeの-Fileパラメータを使用してcmd.exeなどの別の環境からスクリプトを起動します。

Powershell.exe -File C:\my_path\yada_yada\run_import_script.ps1
195
Keith Hill

デフォルトのスクリプト実行ポリシーを変更せずにスクリプトを実行する場合は、起動時にバイパススイッチを使用できますWindows PowerShell.

powershell [-noexit] -executionpolicy bypass -File <Filename>
164
Chingiz Musayev

タイプ:

powershell -executionpolicy bypass -File .\Test.ps1

メモ:ここでTest.ps1はPowerShellスクリプトです。

61
Sudheesh

私は同じ問題を抱えていました、そして私は試してみました...そして最後に私は使用しました:

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

そしてこの行をバッチファイルに入れると、これはうまくいきます。

27
Dennis

あなたがPowerShell 1.0しか持っていないのなら、これは十分にうまくいくようです:

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

スクリプトファイルをPowerShellコマンドラインにパイプします。

21
AndyM

とても簡単。 Windowsで.ps1ファイルを右クリックし、シェルメニューでPowerShellで実行をクリックします。

11
electronictonic

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

あなたが必要な場合管理者として実行してください

  1. コマンドプロンプトを指すショートカットを作成します(私は管理コマンドプロンプトと名付けました)。
  2. ショートカットのプロパティを開き、[互換性]タブに移動します
  3. [特権レベル]セクションで、[このプログラムを管理者として実行する]の横にあるチェックボックスをオンにします。
10
Kiquenet

簡単な方法は、 PowerShell ISE を使用してスクリプトを開き、スクリプトを実行して呼び出すことです。

Enter image description here

  • スクリプトのパス、つまりcmdによるパス設定を指定します。

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

  • PowerShellのエントリポイント機能を実行します。

    例えば、$> add or entry_func or main

7
pkm

スクリプトの拡張子が.ps1で、PowerShellウィンドウにいる場合は、./myscript.ps1を実行するだけです(ファイルが作業ディレクトリにあると仮定して)。

これは、とにかくPowerShellバージョン5.1がインストールされたWindows 10で私には当てはまります。それを可能にするために何もしていないと思います。

6
rainabba

WindowsタスクスケジューラでPowerShellスクリプトを実行したい場合は、次の手順に従ってください。

  1. タスクを作成する

  2. Program/ScriptPowershell.exeに設定

  3. Arguments-File "C:\xxx.ps1"に設定します

別の答えからです。Windowsタスクスケジューラを使用してPowerShellスクリプトを自動的に実行する方法を教えてください

5
Gearon

ファイル名の前に-Fileパラメータを使用してください。引用符はPowerShellにそれが一連​​のコマンドであると考えさせます。

1
Engineer