#author("2018-06-27T20:14:04+09:00","","")
#author("2018-06-27T20:45:41+09:00","","")
#navi(../)
* PowerShellスクリプトが起動できない環境でスクリプトを起動する方法・Invoke-Expression [#d1bf78de]
スクリプト名.ps1は、デフォルトではPowerShell上で起動できないようになっています。~
セキュリティ上、PowerShellのスクリプトを起動してはいけないなどの制約がある場合は、本手段が有効化もしれません

#contents
#htmlinsertpcsp(win-top.html,win-sp.html)

* 関連記事 [#d0a9e185]
-[[PowerShellスクリプトを起動できるようにする>PowerShell/PowerShellスクリプトを起動できるようにする]]
-[[PowerShell実行ポリシーを変更しPowerShellスクリプトを起動できるようにする>PowerShell/PowerShellスクリプトを起動できるようにする]]
-[[PowerShellの実行ポリシーを変更せずにスクリプトを実行する方法>PowerShell/実行ポリシーを変更せずにスクリプトを実行する方法]]
-[[PowerShellスクリプトが起動できない環境でスクリプトを起動する方法・Invoke-Expression>PowerShell/PowerShellスクリプトが起動できない環境でスクリプトを起動する方法]]

* テキストファイルに記述したスクリプトを起動する [#b16c878e]
作成したスクリプトをPowerShellコンソールから簡単に起動する方法を以下に記します。~
尚、スクリプトからスクリプトを呼び出すようなスクリプトは起動できません。~
テキストファイルに記述したスクリプトを起動する構文は以下の通りです。
 Invoke-Expression((Get-Content(スクリプト) -jin "`n")

実際に実行した例を以下に記します。
-使用したスクリプトを記述したテキストファイル
#ref(cmd.txt)
 # cmd.txt
 1..10 | % {
   Write-Output "$_ : Hello"]
 }

-実行結果
 PS D:\> Get-Content .\cmd.txt
 # cmd.txt
 1..10 | % {
   Write-Output "$_ : Hello"
 }
 PS D:\> Invoke-Expression((Get-Content .\cmd.txt) -join "`n")
 1 : Hello
 2 : Hello
 3 : Hello
 4 : Hello
 5 : Hello
 6 : Hello
 7 : Hello
 8 : Hello
 9 : Hello
 10 : Hello

以上、スクリプトを起動できない環境で、スクリプトが記述されたテキストファイルを起動する方法でした。

#htmlinsertpcsp(win-btm.html,win-sp.html)

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS