■カレントフォルダでのスクリプト実行はPS > ./hogehoge.ps1 の形式
基本的に絶対パスにすることにする。
■Aliasはsetしちゃえ。
例えばgrepとか。
Set-Alias grep Select-String
■エイリアスからcmdlet名を調べる
Get-alias 調べたいalias名
でも、とりあえず思ったのは「逆に、このcmdletのaliasは?」と思う機会が多い。ということで
■cmdlet名からaliasを調べる
Get-Alias | Where { $_.Definition -eq "コマンドレット" }
長いし覚えらんない。
ということで、Get-AliasNameという新しいAliasを作ることにした。
でもとりあえず、ユーザーからの入力方法も勉強しようということで、
■ユーザーに情報入力をプロンプト(ルー語みたいですがw)
$Name = Read-Host "Please enter your name"
↑をそのまま使うことにした。
んで、↑↑とくっつけて、スクリプトを作った。
$Name = Read-Host "Please enter cmdlet name that you want to know the alias."
get-alias | where-object {$_.Definition -match "$Name"}
これを、get-aliasname.ps1 とか適当に保存。
■↑のps1ファイルを実行するaliasを作る。
Set-Alias Get-AliasName C:\work\programs\powershell\get-aliasname.ps1
これで万事オッケーかと思いきや、PowerShellを閉じると「なかったことになる」そうで・・・
■関数をプロファイルに登録する
$Profileに登録すれば、起動時に読み込んでくれるらしいので、、、
grepと併せて、
Set-Alias grep Select-String
Set-Alias Get-AliasName C:\work\programs\powershell\get-aliasname.ps1
を$profile先のファイルに保存。
※Set-ExecutionPolicy は昔やっていたので省略。
これで完成しました〜。
実行例はコチラ
PS C:\> get-aliasname
Please enter cmdlet name that you want to know the alias.: get-member
CommandType Name Definition
----------- ---- ----------
Alias gm Get-Member
以下参考URL
http://codezine.jp/article/detail/2623?p=2
http://www.atmarkit.co.jp/fwin2k/operation/psh02/psh02_01.html
http://powershell.hiros-dot.net/?tag=/%E3%82%A8%E3%82%A4%E3%83%AA%E3%82%A2%E3%82%B9
http://blog.hiros-dot.net/PowerShell%E3%81%AB%E3%81%8A%E3%81%91%E3%82%8B%E3%83%97%E3%83%AD%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E4%BD%9C%E6%88%90PowerShellTips.aspx
http://www.microsoft.com/japan/technet/scriptcenter/topics/msh/cmdlets/read-host.mspx
http://blog.hiros-dot.net/PowerShell%E3%81%AB%E3%81%8A%E3%81%91%E3%82%8B%E3%83%97%E3%83%AD%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E4%BD%9C%E6%88%90PowerShellTips.aspx
【日記の最新記事】