管理者としてではなく普通に実行したシェルではwingetコマンドが認識されないときの対処法 3805 views Post @wakairo 2023/02/10 17:51 最終更新 2023/02/11 23:11 現象 管理者として実行したコマンドプロンプトやPowerShellでは問題なくwingetを利用できる。 しかし、管理者として実行しなかったコマンドプロンプトやPowerShellではwingetが「認識されていません」などとなって実行できない。 原因 環境変数のPathに対応するレジストリの値の種類がREG_SZになっている。 原因がレジストリにあるか確認する方法 PowerShellで以下のコマンドを実行したときの結果を見て、 REG Query HKCU\Environment /V Path 以下のように、Pathの種類がREG_SZとなっている場合は、問題の原因はこのレジストリの設定です。 HKEY_CURRENT_USER\Environment Path REG_SZ C:\foobar;%USERPROFILE%\AppData\Local\Microsoft\WindowsApps 修正方法 このWebページに載っている以下のコマンドを実行します。 if ((gi HKCU:\Environment).GetValueKind("Path") -eq "String") {sp Registry::HKEY_CURRENT_USER\Environment Path (gi HKCU:\Environment).GetValue("Path",$null,"DoNotExpandEnvironmentNames") -Type ExpandString; [Environment]::SetEnvironmentVariable("WM_SETTINGCHANGE","","User")} 修正できたかの確認 PowerShellで、以下のように、先ほどと同じコマンドを実行し、Pathの種類がREG_EXPAND_SZに変わったことを確認します。 PS C:\Users\wakai> REG Query HKCU\Environment /V Path HKEY_CURRENT_USER\Environment Path REG_EXPAND_SZ C:\foobar;%USERPROFILE%\AppData\Local\Microsoft\WindowsApps さらに、管理者として実行していないPowerShellかコマンドプロンプトで以下のコマンドを実行し、バージョンが無事表示されるようになっていれば、修正が出来ています。 winget -v なお、レジストリを変更した後は、念のためコンピュータの再起動をしておいた方が良いかもしません。 謝辞 この問題の解決では、前述のkou1okadaさんのWebページの情報が大きな助けとなりました。この場を借りて御礼申し上げます。
@wakairo 2023/02/10 17:51 最終更新 2023/02/11 23:11 現象 管理者として実行したコマンドプロンプトやPowerShellでは問題なくwingetを利用できる。 しかし、管理者として実行しなかったコマンドプロンプトやPowerShellではwingetが「認識されていません」などとなって実行できない。 原因 環境変数のPathに対応するレジストリの値の種類がREG_SZになっている。 原因がレジストリにあるか確認する方法 PowerShellで以下のコマンドを実行したときの結果を見て、 REG Query HKCU\Environment /V Path 以下のように、Pathの種類がREG_SZとなっている場合は、問題の原因はこのレジストリの設定です。 HKEY_CURRENT_USER\Environment Path REG_SZ C:\foobar;%USERPROFILE%\AppData\Local\Microsoft\WindowsApps 修正方法 このWebページに載っている以下のコマンドを実行します。 if ((gi HKCU:\Environment).GetValueKind("Path") -eq "String") {sp Registry::HKEY_CURRENT_USER\Environment Path (gi HKCU:\Environment).GetValue("Path",$null,"DoNotExpandEnvironmentNames") -Type ExpandString; [Environment]::SetEnvironmentVariable("WM_SETTINGCHANGE","","User")} 修正できたかの確認 PowerShellで、以下のように、先ほどと同じコマンドを実行し、Pathの種類がREG_EXPAND_SZに変わったことを確認します。 PS C:\Users\wakai> REG Query HKCU\Environment /V Path HKEY_CURRENT_USER\Environment Path REG_EXPAND_SZ C:\foobar;%USERPROFILE%\AppData\Local\Microsoft\WindowsApps さらに、管理者として実行していないPowerShellかコマンドプロンプトで以下のコマンドを実行し、バージョンが無事表示されるようになっていれば、修正が出来ています。 winget -v なお、レジストリを変更した後は、念のためコンピュータの再起動をしておいた方が良いかもしません。 謝辞 この問題の解決では、前述のkou1okadaさんのWebページの情報が大きな助けとなりました。この場を借りて御礼申し上げます。
現象
管理者として実行したコマンドプロンプトやPowerShellでは問題なくwingetを利用できる。 しかし、管理者として実行しなかったコマンドプロンプトやPowerShellではwingetが「認識されていません」などとなって実行できない。
原因
環境変数のPathに対応するレジストリの値の種類がREG_SZになっている。
原因がレジストリにあるか確認する方法
PowerShellで以下のコマンドを実行したときの結果を見て、
以下のように、Pathの種類がREG_SZとなっている場合は、問題の原因はこのレジストリの設定です。
修正方法
このWebページに載っている以下のコマンドを実行します。
修正できたかの確認
PowerShellで、以下のように、先ほどと同じコマンドを実行し、Pathの種類がREG_EXPAND_SZに変わったことを確認します。
さらに、管理者として実行していないPowerShellかコマンドプロンプトで以下のコマンドを実行し、バージョンが無事表示されるようになっていれば、修正が出来ています。
なお、レジストリを変更した後は、念のためコンピュータの再起動をしておいた方が良いかもしません。
謝辞
この問題の解決では、前述のkou1okadaさんのWebページの情報が大きな助けとなりました。この場を借りて御礼申し上げます。