ネイティブ Choco Runtime
Native Choco Runtime は RealmJoin 独自のプロセス内パッケージ インストール エンジンで、旧式の Chocolatey 0.10.3 バイナリに代わり、既存パッケージとの完全な互換性を保ちます。
Native Choco Runtime は次とともに導入されました RealmJoin Agent 4.21.6(ベータ)。この機能は オプトイン:既存のクライアントは、ネイティブランタイムを明示的に有効にするまで、従来の Chocolatey エンジンを使い続けます。
概要
RealmJoin Agent が Intune 以外でソフトウェア パッケージをインストールするとき(参照 パッケージのインストール)、従来は次に依存していました Chocolatey を基盤となるパッケージ エンジンとして使用してきました。RealmJoin は、固定された大幅にパッチ適用済みのオープンソース Chocolatey CLI ビルドを提供しており、バージョン 0.10.3 — として同梱されていました choco.exe 次の場所に C:\ProgramData\chocolatey\.
その Native Choco Runtime は、その同梱された Chocolatey バイナリを RealmJoin の 独自の目的特化実装に置き換えます これは プロセス内で RealmJoin サービス内で実行されます。これは シムとして動作し Chocolatey に対応しています。同じパッケージ形式(.nupkg)を理解し、パッケージ作成者と管理者の観点では同じように動作しますが、もはや古くなった Chocolatey 0.10.3 のコードベースには依存しません。
言い換えると、すでに使っているパッケージは変更なしで動作し続け、変わるのはその下にあるエンジンだけです。
仕組み
プロセス内エンジン。 パッケージのインストールは、外部の
choco.exeでのみ利用できます。ThechocolateyInstall.ps1各パッケージの chocolateyInstall.ps1 は、プロセス内 PowerShell runspace で実行されます。分離されたストレージ。 ネイティブランタイムは、その 独自の ルートに
C:\ProgramData\RealmJoin\choco\(lib\,extensions\、およびlogs\などのサブフォルダーを含みます)。従来の Chocolatey の状態には書き込まず、C:\ProgramData\chocolatey\また、システム全体のChocolateyInstall環境変数も変更しません。つまり、ネイティブランタイムと既存の従来の Chocolatey は 共存できます 同一デバイス上で。依存関係の自動解決。 次に宣言されたパッケージの依存関係は
.nuspec(たとえば RealmJoin Core Choco Extension)は、構成済みのソースから自動的に解決され、インストールされます。choco.exeシム。 一部のパッケージ スクリプトはchoco.exechoco.exe を直接呼び出します。これらを動作させ続けるため、ランタイムは小さなシムを%ProgramFiles%\RealmJoin\choco-shim\choco.exeに配置し、そのような呼び出しを従来の Chocolatey ではなくプロセス内エンジンに戻します。このシムはシステムのPATHには追加されません。パッケージ スクリプトの実行中だけ利用可能になります。
互換性
Native Choco Runtime は、 ドロップイン代替として設計されています:
既存の RealmJoin パッケージ( Package Storeを含む)は、同じ方法でインストールおよびアンインストールされます。
RealmJoin Portal で設定されたパッケージ引数 / パラメーターも引き続き機能します。
その RealmJoin Core Choco Extension パッケージ スクリプト内で使用されるヘルパー cmdlet も引き続き利用できます。
RealmJoin ESP / Autopilot がサポートされます。ネイティブランタイムを有効にした新しいデバイスでは、
winchocoパッケージは登録中にネイティブにインストールされ、依存関係も自動的に解決されます。
このランタイムはベータ版であるため、テナント全体に展開する前に、パイロットリングで最も重要なパッケージを検証することをおすすめします。挙動の違いがあれば RealmJoin Support に報告してください。一般提供までに対処できます。
使い方
ランタイムは RealmJoin の 設定で選択されるため、個々のクライアントに触れることなく中央で制御できます。RealmJoin の設定は階層的に継承されるため、 テナント全体の既定値 必要に応じて 特定のグループで上書きできます (およびその中のオブジェクト)
設定キー: Chocolatey.UseNativeRuntime
設定値: true / false
次の設定が動作を制御します:
Chocolatey.Enabled
false
RealmJoin はデバイス上の Chocolatey 型パッケージを管理します。
Chocolatey.UseNativeRuntime
false
マスター スイッチ。 falseの場合、インストールは引き続き従来の choco.exe。その場合 true、すべての winchoco インストールはプロセス内ネイティブランタイムを経由します。
Chocolatey.DisableShim
false
次の場合にのみ関係します: UseNativeRuntime = true。その場合 trueのとき、外部の choco.exe を呼び出すパッケージ スクリプトは、シム経由でルーティングされる代わりに明示的に失敗します。外部バイナリをまだ参照しているスクリプトを見つけるのに便利です。
パッケージを検証する
パイロット デバイスに通常のパッケージ割り当てとアップグレードを実行させます。インストールが成功することを確認し、何かおかしい場合はログを確認してください(参照 パッケージ インストールの問題).
設定は、他のエージェント設定と同じテナント設定 / グループ上書きモデルに従います。詳細は次を参照してください: 一般設定 (たとえば クライアント構成 および LAPS 構成 Tenant 設定)。
既定値は何ですか
Native Choco Runtime は 既定では無効です (Chocolatey.UseNativeRuntime = false)。クライアントは、管理者がネイティブランタイムを有効にするまで、従来の同梱された Chocolatey 0.10.3 エンジンを使い続けます。これはテナント全体または特定のグループで行えます。これにより、新しいランタイムを自分のペースで導入でき、機能がベータ版の間でも簡単に元に戻せます。
既存デバイスの移行
ネイティブランタイムと従来の Chocolatey は 共存できます 必要な期間、同一デバイス上で共存できます。すでに従来の Chocolatey でインストールされたパッケージがあるデバイスでネイティブランタイムを有効にすると:
既存の RealmJoin 管理パッケージは引き続き動作し、 返しません ランタイムが変わっただけで再インストールされることはありません。インストール済み状態は切り替え後も引き継がれるため、再インストールの嵐は起きません。
新規インストールとアップグレードはネイティブランタイム経由で行われます。従来のインストールは、明示的に削除されるまでディスク上にそのまま残り、変更されません。
従来の Chocolatey の全体削除は、別途計画された段階的な作業として予定されています。それまでは、ネイティブランタイムは残存する従来のインストールと共存できます。したがって、片付けに厳密な期限はありません。
個々のデバイス(たとえばサポートや QA の際)では、管理者はシムの 移行してください コマンドを 昇格した シェルから実行できます:
choco migrate は 単一デバイス向けの管理者用ヘルパーです (サポート、開発/QA、一度きりのクリーンアップ用)です。これは 返しません フリート全体に変更を展開する仕組みではありません。そのためにはテナント/グループ設定を使用してください。
ログとトラブルシューティング
ネイティブランタイムのインストールは、パッケージごとのログを次に書き込みます:
(各パッケージにつき最新 10 件のみ保持されます)。これは従来の Chocolatey の C:\ProgramData\chocolatey\logs\。サポート依頼のためにログを収集する際は、次の C:\ProgramData\RealmJoin\ フォルダーも含めてください。詳細は パッケージ インストールの問題.
ファイルとパスの参照
C:\ProgramData\RealmJoin\choco\lib\<id>
ネイティブランタイムのパッケージ インストール ルート。
C:\ProgramData\RealmJoin\choco\extensions\<id>
自動インポートされる PowerShell ヘルパー モジュール。
C:\ProgramData\RealmJoin\choco\logs\<id>
インストールごとのログ(各パッケージにつき最新 10 件)。
C:\Program Files\RealmJoin\choco-shim\choco.exe
その choco.exe シム。
最終更新
役に立ちましたか?