pin コマンド (winget)

winget pin コマンドを使用すると、Windows パッケージ マネージャーがパッケージを特定のバージョンの範囲にアップグレードできないようにしたり、パッケージを完全にアップグレードできないようにしたりできます。 ピン留めされたパッケージは引き続き単独でupgradeされ、Windows パッケージ マネージャーの外部からアップグレードされる場合があります。

ピンの種類

WinGet では、次の 3 種類のパッケージ ピンがサポートされています。

  • ピン留め: パッケージは winget upgrade --all から除外されますが、winget upgrade <package> は許可されます。 --include-pinned 引数を使用して、ピン留めされたパッケージを winget upgrade --all に含めることができます。

  • ブロック: パッケージは winget upgrade --all または winget upgrade <package>からブロックされます。WinGet が upgradeを実行できるようにするには、パッケージのピン留めを外す必要があります。 --force オプションを使用して、pinの動作をオーバーライドできます。

  • ゲーティング: パッケージは、特定のバージョンまたはバージョン範囲にピン留めされています。 パッケージをピン留めする正確なバージョンを指定することも、最後のバージョン部分としてワイルドカード文字 * を使用してバージョン範囲を指定することもできます。 たとえば、パッケージがバージョン 1.2.* にピン留めされている場合、1.2.0 から 1.2.x の間のすべてのバージョンは有効と見なされます。 --force オプションを使用して、pinの動作をオーバーライドできます。

使用

winget pin <subcommand> <options>

オプション

次のオプションを使用できます。

オプション 説明
-?, --help このコマンドに関する追加のヘルプを取得します。
--wait 終了する前に任意のキーを押すようユーザーに求めます。
--logs, --open-logs 既定のログの場所を開きます。
--verbose, --verbose-logs ログ記録設定をオーバーライドし、詳細ログを作成します。
--nowarn, --ignore-warnings 警告の出力を抑制します。
--disable-interactivity 対話型プロンプトを無効にします。
--proxy この実行に使用するプロキシを設定します。
--no-proxy この実行に対してプロキシの使用を無効にします。

サブコマンド

pin コマンドは、次のサブコマンドをサポートします。

サブコマンド 説明
add 新しい pinを追加します。
remove パッケージ pinを削除します。
list 現在のピンを一覧表示します。
reset ピンをリセットします

追加する

add サブコマンドは、新しいpinを追加します。 このサブコマンドでは、 pinする正確なパッケージを指定する必要があります。 あいまいさがある場合は、 add サブコマンドをさらにフィルター処理して、正確なアプリケーションにするように求められます。

使用法:

winget pin add [[-q] <query>] [<options>]

引数

引数 説明
-q, --query アプリを検索するために使用するクエリ。

オプション

このオプションを使用すると、ピンの追加をニーズに合わせてカスタマイズできます。

オプション 説明
--id 検索をアプリケーションの ID に限定します。
--name 検索をアプリケーションの名前に限定します。
--moniker 検索をアプリケーション用に一覧表示されているモニカーに限定します。
--tag 検索を、アプリケーション用に一覧表示されているタグに限定します。
--cmd, --command 検索をアプリケーションのコマンドに限定します。
-e, --exact 大文字小文字の区別の検査を含め、クエリで正確な文字列を使用します。 部分文字列の既定の動作は使用されません。
-v, --version pin の特定のバージョンを指定できます。 バージョンの最後の部分としてワイルドカード * を使用できます。 pin gating動作を変更します。
-s, --source 検索を、指定されたソース名に制限します。 この後にソース名を指定する必要があります。
--header 省略可能な Windows-Package-Manager REST ソースの HTTP ヘッダー。
--authentication-mode 認証ウィンドウの基本設定 (silent、silentPreferred、interactive のいずれか) を指定します。
--authentication-account 認証に使用するアカウントを指定します。
--accept-source-agreements ソースの使用許諾契約に同意し、プロンプトを回避するために使用されます。
--force コマンドを直接実行し、セキュリティ関連以外の問題を続行します。
--blocking pinが削除されるまでアップグレードをブロックし、オーバーライド引数を回避します。 pin blocking動作を変更します。
--installed インストールされている特定のバージョンをピン留めします
-?, --help このコマンドに関する追加のヘルプを取得します。
--wait 終了する前に任意のキーを押すようユーザーに求めます。
--logs, --open-logs 既定のログの場所を開きます。
--verbose, --verbose-logs ログ記録設定をオーバーライドし、詳細ログを作成します。
--nowarn, --ignore-warnings 警告の出力を抑制します。
--disable-interactivity 対話型プロンプトを無効にします。
--proxy この実行に使用するプロキシを設定します。
--no-proxy この実行に対してプロキシの使用を無効にします。

次の例では、アプリケーションの pin を追加します。 この pin を追加すると、 winget upgrade --allを呼び出すときにこのパッケージがアップグレードされなくなります。 ピン留めされたパッケージを含めるには、--include-pinnedwinget upgrade --all 引数を使用します。

winget pin add powertoys

次の例では、その ID を使用して、アプリケーションのブロック pin を追加します。 ブロック pin を追加すると、 winget upgrade --all または winget upgrade <package>を呼び出すときに、このパッケージがアップグレードされなくなります。 WinGet が upgradeを実行できるようにするには、パッケージのブロックを解除する必要があります。

winget pin add --id Microsoft.PowerToys --blocking

次の例では、その ID を使用してアプリケーションのゲーティング pin を追加します。 ゲーティング pin を追加すると、特定のバージョンまたはゲートされたワイルドカードの範囲外のパッケージ バージョンを upgrade アップグレードできなくなります。

winget pin add --id Microsoft.PowerToys --version 0.70.*

削除

remove サブコマンドは、pinを削除します。 このサブコマンドでは、削除する正確なパッケージ pin を指定する必要があります。 あいまいさがある場合は、 remove サブコマンドをさらにフィルター処理して、正確なアプリケーションにするように求められます。

使用法:

winget pin remove [[-q] <query>] [<options>]

引数

引数 説明
-q, --query アプリを検索するために使用するクエリ。

オプション

このオプションを使用すると、ピンの削除をニーズに合わせてカスタマイズできます。

オプション 説明
--id 検索をアプリケーションの ID に限定します。
--name 検索をアプリケーションの名前に限定します。
--moniker 検索をアプリケーション用に一覧表示されているモニカーに限定します。
-s, --source 検索を、指定されたソース名に制限します。 この後にソース名を指定する必要があります。
--tag 検索を、アプリケーション用に一覧表示されているタグに限定します。
--cmd, --command 検索をアプリケーションのコマンドに限定します。
-e, --exact 大文字小文字の区別の検査を含め、クエリで正確な文字列を使用します。 部分文字列の既定の動作は使用されません。
--header 省略可能な Windows-Package-Manager REST ソースの HTTP ヘッダー。
--authentication-mode 認証ウィンドウの基本設定 (silent、silentPreferred、interactive のいずれか) を指定します。
--authentication-account 認証に使用するアカウントを指定します。
--accept-source-agreements ソースの使用許諾契約に同意し、プロンプトを回避するために使用されます。
--installed インストールされている特定のバージョンをピン留めします。
-?, --help このコマンドに関する追加のヘルプを取得します。
--wait 終了する前に任意のキーを押すようユーザーに求めます。
--logs, --open-logs 既定のログの場所を開きます。
--verbose, --verbose-logs ログ記録設定をオーバーライドし、詳細ログを作成します。
--nowarn, --ignore-warnings 警告の出力を抑制します。
--disable-interactivity 対話型プロンプトを無効にします。
--proxy この実行に使用するプロキシを設定します。
--no-proxy この実行に対してプロキシの使用を無効にします。

次の例では、アプリケーションの pin を削除します。

winget pin remove powertoys

次の例では、その ID を使用してアプリケーションの pin を削除します。

winget pin remove --id Microsoft.PowerToys

リスト

list サブコマンドは、現在のすべてのピンをリストします。

使用法:

winget pin list [[-q] <query>] [<options>]

引数

引数 説明
-q, --query アプリを検索するために使用するクエリ。

オプション

このオプションを使用すると、ピンの一覧表示をニーズに合わせてカスタマイズできます。

オプション 説明
--id 検索をアプリケーションの ID に限定します。
--name 検索をアプリケーションの名前に限定します。
--moniker 検索をアプリケーション用に一覧表示されているモニカーに限定します。
-s, --source 検索を、指定されたソース名に制限します。 この後にソース名を指定する必要があります。
--tag 検索を、アプリケーション用に一覧表示されているタグに限定します。
--cmd, --command 検索をアプリケーションのコマンドに限定します。
-e, --exact 大文字小文字の区別の検査を含め、クエリで正確な文字列を使用します。 部分文字列の既定の動作は使用されません。
--header 省略可能な Windows-Package-Manager REST ソースの HTTP ヘッダー。
--authentication-mode 認証ウィンドウの基本設定 (silent、silentPreferred、interactive のいずれか) を指定します。
--authentication-account 認証に使用するアカウントを指定します。
--accept-source-agreements ソースの使用許諾契約に同意し、プロンプトを回避するために使用されます。
-?, --help このコマンドに関する追加のヘルプを取得します。
--wait 終了する前に任意のキーを押すようユーザーに求めます。
--logs, --open-logs 既定のログの場所を開きます。
--verbose, --verbose-logs ログ記録設定をオーバーライドし、詳細ログを作成します。
--nowarn, --ignore-warnings 警告の出力を抑制します。
--disable-interactivity 対話型プロンプトを無効にします。
--proxy この実行に使用するプロキシを設定します。
--no-proxy この実行に対してプロキシの使用を無効にします。

次の例では、現在のすべてのピンが一覧表示されます。

winget pin list

次の例では、特定のパッケージ pinを一覧表示します。

winget pin list --id Microsoft.PowerToys

リセット

reset サブコマンドは、すべてのピンをリセットします。

--force 引数を指定せずにこのサブコマンドを使用すると、削除されるピンが表示されます。

すべてのピンをリセットするには、--force 引数を含めます。

使用法:

winget pin reset [<options>]

オプション

オプションを使用すると、ニーズに合わせてピンのリセットをカスタマイズできます。

オプション 説明
--force コマンドを直接実行し、セキュリティ関連以外の問題を続行します。
-s, --source 検索を、指定されたソース名に制限します。 この後にソース名を指定する必要があります。
-?, --help このコマンドに関する追加のヘルプを取得します。
--wait 終了する前に任意のキーを押すようユーザーに求めます。
--logs, --open-logs 既定のログの場所を開きます。
--verbose, --verbose-logs ログ記録設定をオーバーライドし、詳細ログを作成します。
--nowarn, --ignore-warnings 警告の出力を抑制します。
--disable-interactivity 対話型プロンプトを無効にします。
--proxy この実行に使用するプロキシを設定します。
--no-proxy この実行に対してプロキシの使用を無効にします。

次の例では、リセットされるすべてのピンが表示されます。

winget pin reset

次の例では、既存のすべてのピンをリセットします。

winget pin reset --force