ツムラ_メモ

大失敗を繰り返す。

今更ではあるが、WindowsPowerShellで遊んでみる。

てっきりVistaでは標準搭載だと思っていたのだが……。
現状でcmd.exeの代わりになるのかなと期待しながら遊んでみるとしよう。


インストールはWindowsアップデートとして実行されるようだ。
インストール後はパスが自動で通るので、powershellで起動できた。


少し使えば判るが、これは素晴らしい。
想像以上に強力だ。
まずエイリアスがcmdは勿論だが、Linuxのシェルで使ってるような主要なものを大体カバーしている。
ps、kill、ls、mv、cp、rm、etc…(何とmanまで!
ルート/表記まで使えた。
(現在のドライブのルートに移動する。)


内部が完全にオブジェクトに。
.NET Frameworkのメソッドとフィールドの知識がないのでさっぱりだが、これは便利そうだ。


実行方法はLinuxに似ていて、パス(相対か絶対)で実行するようになっていた。


スクリプトの実行がデフォルトでは無効になっているので、スクリプトを実行しようとすると、

スクリプトの実行がシステムで無効になっているため、ファイル C:\PowerShellTest\test.ps1 を読み込めません。詳細については
、「get-help about_signing」と入力してヘルプを参照してください。
発生場所 行:1 文字:10

  1. ./test.ps1 <<<<

と怒られる。Set-ExecutionPolicy RemoteSignedを実行すれば良いのだが、

Set-ExecutionPolicy : レジストリ キー 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell
' へのアクセスが拒否されました。
発生場所 行:1 文字:20

  1. Set-ExecutionPolicy <<<< RemoteSigned

と怒られてしまった。


どう考えてもUACのお陰っぽいので、管理者として実行させて再度、Set-ExecutionPolicy RemoteSignedを実行すると、動作した。
まぁ多分プロファイルにでも書いとけばいいんでしょうけど。
途中でなぜかフォントが切り替わり、日本語が表示されなくなったが、原因不明。
vim起動させた時かな……(再現できず)


全体的にLinuxのシェルに近付いた感じ。
その分cygwinエイリアスがバッティングしそうだなぁ。
そろそろ我が家のLinuxとWindowsとCygwinVirtualPCの構成を考え直してもいいかも。