dnim uninstall

Name

dnim-win-[x86|x64|arm64] uninstall- デバイス上の.NETインストールを検出、分類、および削除します。

概要

dnim-win-[x86|x64|arm64] uninstall [-a|--accept-license]
    [-b|--include-bin-deployed-installs]
    [--csrp|--create-system-restore-point]
    [--epv|--except-product-version <PRODUCT_VERSION>]
    [--esp|--except-support-phase <active|eol|golive|maintenance|preview>]
    [--ignore-dependents]
    [--it|--install-type <msi|bundle|bin|hosting|runtime|aspnetruntime|desktopruntime|sdk|x86|x64|arm64>]
    [--klpv|--keep-latest-product-version <PRODUCT_VERSION>]
    [--klsp|--keep-latest-support-phase <active|eol|golive|maintenance|preview>]
    [-l|--log-file <LOG_FILE>]
    [--log-extra-debug-information, --lx]
    [--no-wua]
    [-o|--output-file <OUTPUT_FILE>]
    [--offline <LAYOUT_DIRECTORY>]
    [--offline-revocation-checks]
    [--output-format <text|csv|html|json>]
    [--pv|--product-version <PRODUCT_VERSION>]
    [--remove-EOL-versions-from-VS]
    [--remove-orphaned-installs]
    [--restore-point-suffix|--rps <SUFFIX>]
    [--ri|--report-issues]
    [--rv|--release-version <RELEASE_VERSION_RANGE>]
    [--sp|--support-phase <active|eol|golive|maintenance|preview>]
    [-v|--verbosity <quiet|normal|diagnostic>]
    [--verify-signatures <always|bypass|never>]
    [--what-if]

dnim-win-[x86|x64|arm64] uninstall -?|-h|--help

Description

uninstall コマンドは、.NETのすべてのコピーをデバイスから削除しようとします。 インストールが Visual Studio などの他の製品と共有されている場合は、この操作ができない場合があります (Windowsの管理対象.NETインストールを参照してください)。

Caution

DNIM は常に、デバイス上の.NETのすべてのコピーの削除を試みます。 --what-if オプションを使用して、計画されたアクションを確認します。

さまざまなオプションを使用して、特定のインストールを対象にすることができます。 たとえば、管理者は、組織の内部ポリシーに準拠するために、アクティブなサポートに含まれていない.NETのすべてのコピーを削除できます。

Important

変更するには、管理者特権でこのコマンドを実行する必要があります。 変更を加えずに結果を評価する場合は、 --what-if オプションを含めます。

オプション

  • -a|--accept-license

    使用許諾契約書に自動的に同意します。 最初の実行時に、ユーザーはライセンスに同意するように求められます。 詳細度が quiet に設定され、ツールが初めて実行された場合、コマンドは失敗します。 管理者は、ネットワーク経由で DNIM をデプロイするときに、このオプションを含める必要があります。

  • -b|--include-bin-deployed-installs

    [プログラム ファイル] で、bin で展開されたインストールを検索します。 このオプションでは、MSI によってサポートされていないインストールを確認するための追加のオーバーヘッドが発生します。

  • --csrp|--create-system-restore-point

    マシンに変更を加える前に、システム復元ポイントを作成します。 このオプションは、Windows Serverなど、システムの復元がサポートされていない場合や、サービスが無効になっている場合には影響しません。

    詳細については、 システムの復元 に関するドキュメントを参照してください。

  • --epv|--except-product-version <PRODUCT_VERSION>

    指定した製品バージョンに一致するインストールを除外します。 製品バージョンには、 2.2 や 5.0などのメジャー バージョンとマイナー バージョンが含まれています。 製品バージョンごとにオプションを 1 回指定します。

    Note

    --product-version オプションと --except-product-version オプションは同時に指定できません。

  • --esp|--except-support-phase <active|eol|golive|maintenance|preview>

    指定したサポート フェーズに一致するインストールを除外します。 サポート フェーズごとにオプションを 1 回指定します。

    Note

    --support-phase オプションと --except-support-phase オプションは同時に指定できません。

  • --ignore-dependents

    それ以外の場合はパッケージが削除されないインストールの依存関係を無視します。

  • --it|--install-type <msi|bundle|bin|hosting|runtime|aspnetruntime|desktopruntime|sdk|x86|x64|arm64>

    パッケージの種類、コンポーネント、またはアーキテクチャに基づいてインストールをターゲットにする。 このオプションは複数回指定できます。 たとえば、 --it sdk --it x64 を使用して、64 ビット SDK のインストールのみを対象とします。

  • --klpv|--keep-latest-product-version <PRODUCT_VERSION>

    指定した製品バージョンと一致し、その製品の最新の既知のバージョンである場合は、インストールを保持します。 製品バージョンごとにオプションを 1 回指定します。

  • --klsp|--keep-latest-support-phase <active|eol|golive|maintenance|preview>

    指定されたサポート フェーズと一致し、最新の既知のバージョンである場合は、インストールを保持します。 サポート フェーズごとにオプションを 1 回指定します。

  • -l|--log-file <LOG_FILE>

    ログ ファイルのパスを指定します。 既定では、DNIM はユーザーの一時ディレクトリにタイムスタンプ付きログ ファイルを作成します。

  • --lx|--log-extra-debug-information

    MSI を直接実行するときに、追加のデバッグ ログを有効にします。 このオプションでは、Windows インストーラーのログ 記録ポリシーは設定されません。バンドルの一部として実行される MSI には影響しません。

  • --no-wua

    インストール パッケージの実行時に、Windows Update エージェント サービスを一時的に停止します。 DNIM は、実行中の場合にのみサービスを停止し、DNIM によって停止された場合にのみサービスを再起動します。 このオプションは、.NETの更新に干渉する可能性がある他の更新からの影響を最小限に抑えることを目的としています。

    Caution

    DNIM は WUA を再起動するためのベスト エフォートを行います。 プロセスが強制終了された場合、WUA を再起動する前に DNIM が突然終了する可能性があります。 これにより、デバイスが脆弱な状態になる可能性があります。

  • -o|--output-file <OUTPUT_FILE>

    DNIM がコマンド結果を書き込むファイルの完全パスを指定します。

  • --offline <LAYOUT_DIRECTORY>

    インターネットから必要なファイルを取得する代わりに、指定したレイアウト ディレクトリからファイルを使用します。

  • --offline-revocation-checks

    ファイル署名を確認するときは、キャッシュされた証明書失効リストを使用します。 ネットワーク アクセスが制限されているマシンでは、このオプションを使用します。

  • --output-format <text|csv|html|json>

    コマンド結果の出力形式を指定します。 既定の形式は csvです。

  • --pv|--product-version <PRODUCT_VERSION>

    指定した製品バージョンに一致するインストールを含めます。 製品バージョンには、 2.2 や 5.0などのメジャー バージョンとマイナー バージョンが含まれています。 製品バージョンごとにオプションを 1 回指定します。 既定では、すべての既知の製品バージョンが含まれています。

    Note

    --product-version オプションと --except-product-version オプションは同時に指定できません。

  • --remove-EOL-versions-from-VS

    すべてのVisual Studio インスタンスでインストールがサポート対象外として指定されている場合は、Visual Studioによってインストールされた有効期限.NETインストールを削除します。

    Note

    Visual Studio 15.9.27、16.0.18、16.4.13、16.7.3、16.8 Preview 3 以降では、パッケージとコンポーネントをサポート外として指定できます。 Visual Studioは、手動でアンインストールされたサポート外パッケージを再インストールしません。

  • --remove-orphaned-installs

    未解決の依存を持つ孤立したインストールを特定して削除します。

  • --rps|--restore-point-suffix <SUFFIX>

    システム復元ポイントの説明に最大 128 文字の文字列を追加します。

  • --ri|--report-issues

    コマンドが成功したが、アクションを必要とするインストールが検出された場合は、0 以外の終了コードを返します。 このオプションは、 --what-if と組み合わせた場合にのみ適用され、Intune 検出スクリプトで修復をトリガーするために使用できます。

  • --rv|--release-version <RELEASE_VERSION_RANGE>

    間隔表記を使用して、特定のバージョンまたはバージョンの範囲を含めます。 たとえば、 [,7.0.3) は 7.0.3 より前のバージョンを選択し、 [6.0.15] はバージョン 6.0.15 のみを選択します。 このオプションを他のインストール フィルター オプションと組み合わせることはできません。

  • --sp|--support-phase <active|eol|golive|maintenance|preview>

    指定されたサポート フェーズに一致する製品、リリース、またはインストールのみを含めます。 サポート フェーズごとにオプションを 1 回指定します。 既定では、すべてのサポート フェーズが含まれます。

    Note

    --support-phase オプションと --except-support-phase オプションは同時に指定できません。

  • -v|--verbosity <quiet|normal|diagnostic>

    コンソール出力の詳細度を設定します。 ログ ファイルには常に診断出力が含まれます。 既定値は normal です。

  • --verify-signatures <always|bypass|never>

    DNIM がバンドルを実行する前に署名の検証を制御します。 毎日の.NET ビルドは署名されず、既定では削除されません。 既定値は always です。

  • --what-if

    システムに変更を加えずにコマンドが実行するアクションを表示します。

結果

結果は、インストールを削除できるかどうかを示す追加の列を追加して、 scan コマンドによって生成されるものと似ています。 以下の抜粋は、実行中の dnim-win-x64.exe uninstall --pv 8.0 --klsp active --klsp maintenance --what-ifから生成されました。 このコマンドは特に、.NET 8.0 の削除を対象としていますが、最新の既知のリリースであり、サポート フェーズがactiveまたはmaintenanceの場合、インストールは保持されます。 3.1 および 6.0 SDK は、.NET 8.0 の一部ではないため除外されます。 8.0.130 SDK は、コマンドの実行時に最新の既知のリリース バージョンであったため、削除されません。

表示される名前 Release タイプ Support アンインストール アクション
Microsoft .NET Core SDK 3.1.426 (x64) 3.1.426 Bundle EOL NoneProductVersionExcluded
Microsoft .NET SDK 6.0.136 (x64) 6.0.136 Bundle EOL NoneProductVersionExcluded
Microsoft .NET SDK 8.0.130 (x64) 8.0.130 Bundle Maintenance NoneLatestReleasedVersion

ポリシーの評価

DNIM は、コマンド ライン オプションに基づいて内部ポリシー規則のセットを生成します。 すべてのインストールは、ポリシーに対して評価されます。 ポリシーが適用されると、評価は停止します。 ポリシーが適用されない場合は、.NETのインストールを削除できます。

次の表に、コマンド ライン オプションから作成されたポリシーの概要を示します。

Policy Description
製品バージョン 製品バージョンに基づいてインストールを含めるか除外します。
サポート フェーズ サポート フェーズに基づいてインストールを含めるか除外します。
リリース バージョン リリース バージョンに基づいてインストールを含めるか除外します。
Retention 製品のバージョンまたはサポート フェーズに基づいてインストールを保持します。
インストールの種類 インストールの種類に基づいて、インストールを含めるか除外します。
孤立したインストール 孤立したインストールを削除することを検討してください。
Visual Studio EOL Visual Studioでサポート対象外としてマークされたインストールを検討します。
依存関係プロバイダー 他の製品がインストールに依存している場合は、インストールを除外します。
署名 パッケージが署名されているかどうかに基づいて、インストールを除外または含めます。

例

次のコマンド ラインを検討してください: dnim-win-x64 uninstall --pv 6.0。 このコマンドでは、.NET 6.0 に関連付けられているインストールのみが考慮されます。 ツールが .NET 7.0 インストールを評価すると、製品バージョン ポリシーが適用され、除外されます。

ポリシーの結果

すべてのインストールには、評価されたポリシーに基づいてアクションが割り当てられます。 次の表に、 uninstall コマンドによって返されるさまざまなポリシー アクションの説明を示します。 None プレフィックスを持つポリシー アクションは、インストールが削除されないことを示します。

Action Policy Description
NoneNotOutOfSupport サポート フェーズ 製品は、公開されたリリース情報に基づいて引き続きサポートされていると見なされます。
NoneLatestReleasedVersion Retention インストールは最新の既知のリリース バージョンであり、保持されます。
NoneNotOutOfSupportInVisualStudio Visual Studio EOL 製品はサポートされていませんが、Visual Studioのすべてのインスタンスでサポート対象外と見なされるわけではありません。 これは、1 つ以上のVisual Studio カタログの製品情報が古くなっているか、正しくないかを示します。
NoneProductVersionExcluded 製品バージョン 製品のバージョンによって削除が除外されたため、製品は保持されます。
NoneProductVersionNotFound 製品バージョン インストールは、不明な.NET製品バージョンに属しています。 これは、.NET リリースの JSON データが更新されていない場合、または古いデータのコピーが使用されている場合に発生する可能性があります。
NoneSupportPhaseExcluded サポート フェーズ サポート フェーズが除外されるため、インストールは保持されます。
NoneInstallPlatformExcluded インストールの種類 プラットフォームが除外されるため、インストールは保持されます。
NoneInstallTypeExcluded インストールの種類 インストールの種類が除外されるため、インストールは保持されます。 たとえば、ユーザーは削除する MSI のみを指定しました。
NoneInstallComponentExcluded インストールの種類 コンポーネントが除外されるため、インストールは保持されます。 たとえば、SDK のインストールのみが選択されましたが、インストールは ASP.NET Core などの共有フレームワークの一部です。
NoneReleaseVersionExcluded リリース バージョン 指定されたリリース バージョンと一致しないため、インストールは保持されます。
NoneDependentsExist 依存関係プロバイダー 別の製品が依存しているため、インストールは保持されます。 たとえば、スタンドアロン バンドルと 1 つ以上のVisual Studio インスタンスの両方によって、同じ MSI がインストールされました。
NoneUnsigned 署名 ディスク上のインストール パッケージに署名されていません。
Uninstall 該当なし インストールが正常に評価され、すべてのアクティブなポリシーが削除されます。
UninstallParentDependency 該当なし 親依存関係が削除されるため、インストールは削除されます。たとえば、MSI が削除されるのは、それが属する.NET バンドルが削除されるためです。
UninstallOrphanedByVs 該当なし インストールは、Visual Studioによって孤立しているため、削除されます。
NoneEolVersion 該当なし インストールに関連付けられている製品は EOL であり、更新されません。
NoneDiscontinuedSdk 該当なし .NET製品は引き続きサポートされていますが、最新の更新プログラムには特定の機能バンドは含まれていません。
NoneNoComponent 該当なし リリース データには、SDK またはランタイムに関するコンポーネント データはありません。
NoneNoComponentFile 該当なし リリース データにはコンポーネント データが含まれますが、個々のインストール ファイルに関する情報は含まれません。

例

  • .NETの終了 (EOL) インストールをすべて削除します。

    dnim-win-[x86|x64|arm64] uninstall --sp eol
    
  • すべての.NETインストールを削除しますが、インストールされている場合は、アクティブなサポート対象の製品の最新バージョンを保持します。

    dnim-win-[x86|x64|arm64] uninstall --klsp active
    

    .NET 9 と 8 がアクティブなサポートを受け、コマンドが実行されたとき、最新のリリースには 9.0.19 と 8.0.30 が含まれているとします。 デバイスに .NET 9.0.17 と 8.0.30 がインストールされている場合、コマンドは 9.0.17 を削除しますが、8.0.30 は保持されます。

  • リリース バージョンが 10.0.0 未満の場合は、すべての SDK バンドルを削除します。

    dnim-win-[x86|x64|arm64] uninstall --it sdk --it bundle --rv [,10.0.0)
    

こちらも参照ください

.NET インストール