PowerShell のスクリプト ps1 ファイルの実行でハマった話

setting
通常、Set-ExecutionPolicy で実行のポリシー設定すれば動くって書いてるのだが、
Powershell のスクリプトファイルの実行 面倒なのでうちは gpedit で許可しています。
なぜなら、こうしないとプログラムからスクリプトが起動できないためだよん ・ω・

ところが、Program Files に有るスクリプトをフルパス指定して起動する時に困った。

ps

C:\Windows\system32>powershell "c:\Program Files (x86)\MOFMOF\管理ツール\reset.ps1"
x86 : 用語 'x86' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されません。
名前が正しく記述されていることを確認し、パスが含まれている場合はそのパスが正しいことを確認してから、再試行してください

発生場所 行:1 文字:19
+ c:\Program Files (x86)\MOFMOF\管理ツール\reset.ps1
+                   ~~~
    + CategoryInfo          : ObjectNotFound: (x86:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

ダブルクォートでくくってるのにNGなのだ・ω・ えー、なんで?

「送る」で呼び出すPowerShellスクリプトで、ファイルパスがうまく受け取れない
この場合、 -File オプションつけないとNGらしい。

試してみたら、Windows 2000時台の Powershell v2 でも同じらしい
どうして、こうなった?・ω・

おすすめ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です