Windows PowerShell でファイルダウンロードする時に wget をよく使うのですが、PowerShell Core では wget がサポートされていません。
ご存じの方はご存じだと思いますが、Windows PowerShell の wget は、Invoke-WebRequest の Alias(別名) なのですが、PowerShell Core には wget が Alias として登録されていないのです。
Alias は Set-Alias で設定できるのですが、都度設定するのも面倒なので Profile に Alias を登録しちゃいましょう。
Profile のフルパスは $PROFILE に格納されていので、以下をコピペして Profile をメモ帳で編集します。
Profile を読み込むには、スクリプトの実行許可が必要です。
PowerShell Core のデフォルトは、LocalMachine
でスクリプト実行許可れさているのですが、企業利用の場合、管理者がスクリプト実行許可を停止していることも想定されるので、スクリプト実行許可が無い場合は
CurrentUser で実行許可するようにしています。
(Windows PowerShell は default スクリプト実行が許可されていない)
# スクリプト実行が許可されていなければ許可する if((Get-ExecutionPolicy -Scope LocalMachine) -ne "RemoteSigned"){Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force} # Profile が無ければ作成 if(-not (Test-Path $PROFILE)){New-Item $PROFILE -Type File -Force} # メモ帳で Profile を開く notepad $PROFILE |
メモ帳が開いたら、「Set-Alias wget Invoke-WebRequest」を追加し、保存します。
(複数
Alias を登録する場合は、Set-Alias を複数書きます)
PowerShell を開きなおすと、wget が Alias 登録されています。
PowerShell の Alias は、コマンドレットだけではなく、.exe 等も Alias 登録出来るので、Chrome をコマンドラインで起動する Alias とかも登録できます。
Set-Alias Chrome "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"
よく使うコマンドとかを Alias 登録していると結構便利です。
管理権限を持っていないユーザーで PowerShell スクリプトを実行する
https://www.vwnet.jp/Windows/PowerShell/2020072901/SetExecutionPolicy.htm
PowerShell の関数をモジュールとしてインストールする
http://www.vwnet.jp/Windows/PowerShell/2019101401/InstallModule.htm
関数を PowerShell プロンプトで実行する
http://www.vwnet.jp/Windows/PowerShell/2016100401/UseFunctionInPsPrompt.htm
Copyright © MURA All rights reserved.