- Chocolatey を使用すると、ソフトウェアを自動的かつ安全にインストール、更新、アンインストールできます。
- パッケージは管理されており、多くは [承認済み] であり、インストール前にスクリプトを監査することが可能です。
- とともに PowerShellの および packages.config を使用すると、展開を標準化し、アップグレードをスケジュールできます。
- たくさん ログ グローバルな確認により、無人実行とトレーサビリティが容易になります。
あなたが Linux またはmacOSからソフトウェアをインストールするというアイデアはおなじみでしょう。 ターミナルでも Windows 文章を変な目で見る人がまだいる。 コマンド現実には、自動化、標準化、導入の加速化を目指す場合、 チョコレートはあなたの最高の味方になります 「次へ」、「次へ」、「完了」のクリックなしでインストール スクリプトを作成します。
この実践ガイドでは、Chocolateyを使用してインストールスクリプトを作成する方法を学びます。: PowerShellとは何か、安全にインストールする方法、主要なコマンド、PowerShellスクリプトの構成方法、packages.configの使い方、セキュリティガイドライン、自動更新のスケジュール設定方法など トリック 生産性が向上し、新しいチームが数分で準備できるようになります。
Chocolateyとは何か、そしてなぜスクリプト作成が楽になるのか
Chocolateyはapt、dnf、pacmanにインスパイアされたWindows用のパッケージマネージャーです。コミュニティによって管理される大規模なリポジトリと公式ツールを備えています。そのアプローチは、グラフィカルインストーラに潜む追加のクラップウェアを使わずに、コマンドラインからソフトウェアを一貫して繰り返しインストール、アップデート、アンインストールすることです。
Chocolateyの公開カタログは数千のユニークなパッケージをはるかに超えていますコミュニティによって管理・検証されています。多くのパッケージには最終的なバイナリは含まれておらず、ベンダーの公式サイトからダウンロードされ、適切なパラメータでサイレントインストールを実行するスクリプトが含まれています。これにより、アドウェアや不要なコンポーネントが回避されます。
自動化の大きな利点 シンプルな手順でインストールを連鎖できる点です スクリプト (PowerShellまたは CMD)、グローバル確認オプションを定義し、ログをキャプチャし、新しいコンピュータで同じ環境を再現します。 仮想マシン 数分で
インストールに加えて、Chocolatey ではすべてのソフトウェアを更新できます。 1 つのコマンドでタスク スケジューラに更新をスケジュールし、「新しいバージョンが利用可能です」という煩わしい通知を忘れることができます。

Chocolateyの安全なインストール:コマンドと重要なニュアンス
PowerShell を管理者として実行すると、Chocolatey のインストールは非常に高速になります。 ([スタート] メニューで見つけて右クリックし、[管理者として実行] を選択します。) システム レベルではなく、プロセス セッションに対してのみ実行ポリシーを調整することをお勧めします。
PowerShell の推奨コマンド (管理者特権セッション) 最新の TLS プロトコルを構成し、現在のプロセスに制限された方法でインストーラーを実行するには、次の手順を実行します。
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
従来のcmdの変種もある これは多くのチュートリアルで見られますが、使用する場合、権限の問題を回避するために管理者権限で cmd を開き、PATH 変数が正しく更新されていることを確認してください。
@powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
考慮すべき詳細: 管理者として実行しない場合、スコープはユーザー全体となり、昇格を必要とするインストールでエラーが発生する可能性があります。Chocolateyはすべてをログに記録します。 C:\ProgramData\chocolatey\logs\chocolatey.log、何が起こったかを完全に追跡できます。
Set-ExecutionPolicyについて: グローバルディレクティブへの変更を避けるため、上記のようにスコーププロセスによるバイパスを使用することをお勧めします。古いチュートリアルでは、 無制限の o すべて署名済み; 使用する場合 すべて署名済み、独自のスクリプトに署名するか、実行ごとに有効な署名を確認する必要があります。
セキュリティ: パケットモデレーション、[承認済み]、スクリプト検証
Chocolatey は手動および自動のパッケージ モデレーションを適用します。 コミュニティリポジトリから。多くのエントリはタグ付きで表示されます [承認された]これは、品質とセキュリティの管理に合格したことを示します。一部のパッケージにはデジタル署名が付いている場合もあります。
それでも、基本的な良い習慣: セキュリティが心配な場合は、インストール前に内容を検査してください(例: チョコインストール-dv 詳細については、パッケージ ページを確認してください。また、重要な環境を管理する場合は、内部リポジトリまたはエンタープライズ ライセンスを検討してください。
インストーラーが chocolateyinstall.ps1 を使用するのはなぜですか? スクリプト インストール.ps1 その ダウンロード 公式サイトによると、これは「ブートストラッパー」であり、 Chocolatey nupkg パッケージをダウンロードし、chocolateyinstall.ps1 を実行します。これらが一致しないのはよくあることです。一方はランチャーで、もう一方はパッケージインストールスクリプトです。この違いは問題ではなく、NuGet/Chocolateyアーキテクチャによるものです。
真のセキュリティ上の利点: クラップウェアを回避し、ダウンロードを検証可能なソースに集中させ、欺瞞的なクリックなしで自動化し、最新バージョンを維持することで、攻撃対象領域と古いソフトウェアによるリスクを軽減します。
スクリプトの必須コマンド: インストール、検索、リスト、更新、アンインストール
パッケージをインストールする それは次のように簡単です:
choco install nombre_paquete -y
-y 修飾子は確認を強制します スクリプトが操作を待たずに済むようになります。必要に応じて、グローバルに有効化することもできます。
choco feature enable -n allowGlobalConfirmation
典型的な例 ガイドで表示される内容:Skypeをインストールする チョコ Skype をインストール、CMDERと choco インストール cmder -y またはVLCで choco インストール vlc -y次の方法でパッケージを検索できます:
choco search <termino>
検索すると、バリエーションのあるパッケージが表示されます: 例えば、 7zip.インストール クラシックインターフェースでアプリケーションをインストールし、 7zip 単に「ヘッドレス」コマンドライン版でも構いません。 。インストール GUI が必要なときはいつでも。
インストールしたものをリストする 機器を迅速に監査するのに役立ちます。
choco list --local-only
古いバージョンを確認する それは次のように簡単です:
choco outdated
特定のパッケージまたはすべてのパッケージを更新する バッチはスケジュールされたスクリプトに非常に便利です。
choco upgrade <paquete> -y
choco upgrade all -y
アンインストールも簡単です必要に応じて依存関係を含めることもできます。
choco uninstall <paquete> -y --remove-dependencies
最初の PowerShell インストール スクリプトを作成する (再利用可能なテンプレート)
自動化の最も実用的な方法は、PowerShellでスクリプトを作成することです。 権限を検証し、セッションの実行ポリシーを構成し、Chocolatey がない場合はインストールし、お気に入りのアプリをチェーンで展開します。
サンプルテンプレート ソフトウェア リストと社内ポリシーに合わせて調整できます。
# Comprobar privilegios de administrador
if (-not ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)) { Write-Host 'Este script requiere privilegios de Administrador. Vuelve a ejecutarlo elevado.'; exit 1 }
# Política de ejecución solo para este proceso y TLS 1.2
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072
# Instalar Chocolatey si no existe
if (-not (Get-Command choco -ErrorAction SilentlyContinue)) { iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1')) }
# Confirmación global para evitar prompts
choco feature enable -n allowGlobalConfirmation
# Instalar aplicaciones (modifica a tu gusto)
choco install google-chrome-x64 -y; choco install visualstudiocode -y; choco install vscode-powershell -y; choco install docker-desktop -y; choco install 7zip.install -y; choco install vlc -y; choco install git -y
# Limpiezas opcionales (ejemplo: accesos directos del Escritorio)
# Get-ChildItem -Path "$env:Public\Desktop\*.lnk" -ErrorAction SilentlyContinue | Remove-Item -Force
# Mostrar resumen local
choco list --local-only
評議会: 「必須」パッケージと「オプション」パッケージを 2 つの異なるブロックまたはスクリプトに分離して、最小限のベースと特定のプロファイル (開発、デザイン、ビデオ編集など) 用の追加レイヤーを用意できるようにします。
すでに手動でバージョンをインストールしている場合特に古い Windows インストールでは、競合を避けるためにスクリプトを実行する前にそれらをアンインストールしてください。Windows 10/11 のクリーン インストールでは、よりスムーズなエクスペリエンスが提供されることがよくあります。
packages.config で自動化: スクリプトに触れずにバッチインストールする
PowerShellに加えて、Chocolateyではpackages.configを定義することができます。 (NuGetスタイル)必要なパッケージとそのバージョンを指定します。これは、共有チームリストやGit管理リポジトリに便利です。
最小限のpackages.configの例 (choco を実行するのと同じフォルダーに保存します):
<?xml version='1.0'?>
<packages>
<package id='google-chrome-x64' />
<package id='visualstudiocode' />
<package id='7zip.install' />
<package id='vlc' />
<package id='git' />
</packages>
定義されたすべてをインストールするには そのファイルで、次を実行します。
choco install packages.config -y
利点ソフトウェア リストの宣言的なメンテナンス、ファイルのバージョン管理、監査対象機器の変更の確認の容易さ。
タスク スケジューラで自動更新をスケジュールする

煩わしい通知なしにソフトウェアを最新の状態に保つことは、プログラミングと同じくらい簡単です。 実行するアクション チョコアップグレードオール -y ログイン時または特定の時間に通知されます。
ステップバイステップの要約:「タスクスケジューラ」を開き、タスクを作成し、「最上位の権限で実行する」をチェックし、トリガー(例えば、ログオン時)を選択し、アクションに「プログラムまたはスクリプト」と入力します。 チョコ 「引数を追加」に次のように記入します すべてアップグレード -y.
スクリプトで管理したい場合PowerShellからタスクを作成するには、 スケジュールされたタスクの登録企業イメージや大規模な展開を準備するときに役立ちます。
チョコレートのログを覚えておいてください これにより、更新が正常に行われたかどうかを確認できます。 C:\ProgramData\chocolatey\logs\chocolatey.log.
実際の活用例:ゼロから準備完了の環境まで
オフィスオートメーションとマルチメディアの基本インストール: ブラウザ、コンプレッサー、ビデオプレーヤー、 PDF 1 つの複合コマンドで数秒で実行できます。
choco install google-chrome-x64 7zip.install vlc sumatrapdf.install -y
軽量開発環境: VS Code、Git、PowerShellツール、最初のインストール後にエイリアスと拡張機能が利用可能 ブーツ.
choco install visualstudiocode vscode-powershell git -y
検索と細かい選択: 正確な名前がわからない場合は、 チョコ検索コマンド o チョコ検索Adobe 変異体とそれが [承認された].
choco search mpv
choco install mpv.install -y
アップデートとメンテナンス: 古くなったものがないか一目で確認し、夜間のスクリプトでコマンド 1 つを実行するだけですぐにすべてを更新できます。
choco outdated
choco upgrade all -y
堅固なコマンド基盤、優れたセキュリティ対策、そして1つか2つの適切に設計されたスクリプトこれにより、従来のインストーラーよりもクリーンなフローで、手動クリックに頼ることなく、数分でデバイスを展開し、最新の状態に維持し、クラップウェアを回避し、インストールおよび更新された内容の完全な追跡が可能になります。
バイトの世界とテクノロジー全般についての情熱的なライター。私は執筆を通じて自分の知識を共有するのが大好きです。このブログでは、ガジェット、ソフトウェア、ハードウェア、技術トレンドなどについて最も興味深いことをすべて紹介します。私の目標は、シンプルで楽しい方法でデジタル世界をナビゲートできるよう支援することです。