PowerShell 独自コマンドを登録する
PowerShellに独自コマンドを登録する
PowerShellでは独自のコマンドを登録することができます。
よく使うコマンドを登録しておくと便利です。
例えばメモをターミナルからSlackやNotionへ投稿する、
ターミナルからコマンドでBGMを鳴らすなど
登録方法はMicrosoft.PowerShell_profile.ps1に関数型で記述することで実現できます。
独自コマンド登録方法
1. Microsoft.PowerShell_profile.ps1の場所
Microsoft.PowerShell_profile.ps1の場所を確認します。
以下のコマンドを実行
$PROFILE
上のスクショはWindows11で実行した結果。
ドキュメントの中のWindowsPowerShellフォルダにMicrosoft.PowerShell_profile.ps1があります。
2. Microsoft.PowerShell_profile.ps1の編集
Microsoft.PowerShell_profile.ps1をテキストエディタで開いて編集します。 (このファイルが無い場合は新しく作成します)
簡単な例としてファイルの中身を下のように書いて保存します。
文字コードはSJIS
Function test1 {
write-host 'こんにちわコルタナです'
}
3. Microsoft.PowerShell_profile.ps1の再読み込み
Microsoft.PowerShell_profile.ps1を保存した後、以下のコマンドを実行してOSに再読み込みさせます。
.$PROFILE
「.$PROFILE」を実行したときに
下のようなエラーが出る場合
PS C:\Users\GoDa_Takeshi> .$PROFILE
. : このシステムではスクリプトの実行が無効になっているため、ファイル C:\Users\GoDa_Takeshi\Documents\WindowsPowerShell\Mi
crosoft.PowerShell_profile.ps1 を読み込むことができません。詳細については、「about_Execution_Policies」(https://go.micr
osoft.com/fwlink/?LinkID=135170) を参照してください。
発生場所 行:1 文字:2
+ .$PROFILE
+ ~~~~~~~~
+ CategoryInfo : セキュリティ エラー: (: ) []、PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
↑このエラーが出る場合、ポリシーを変更してスクリプトを実行できるようにします。
Set-ExecutionPolicy RemoteSigned -Force
これは「ローカルのスクリプトファイルを実行できるようにする」という意味です。
そして再度.$PROFILEを実行すると独自コマンドが実行できるようになります。
4.独自コマンドの実行
test1と入力して実行すると
上手く実行できたら上のようになります。上手く行かないとき、一度PowerShellのターミナルを閉じて再度開きなおしてtest1を実行してみてください
**注意点**
Microsoft.PowerShell_profile.ps1はユーザー毎に異なります。システム全体で共通の設定を行いたい場合は、「$PROFILE」を「$PROFILE.AllUsersCurrentHost」に読み返して試してください。
$PROFILE → $PROFILE.AllUsersCurrentHost
#PowerShell #独自コマンド #コマンドレット #プログラミング学習 #プロファイル #$PROFILE