【Intune】インストールとアンインストールコマンド、検出ルールの備忘録

# 1.はじめに

***Intuneで、Win32（exe）アプリを配布する場合***は、***インストールコマンドやアンインストールコマンド、検出ルール***を調べておく必要があります。

こちらの記事では、インストールコマンドやアンインストールコマンド、検出ルールのメモとなります。
非定期に更新することがありますので、ご容赦下さいませ。

:::note info
exeアプリの場合
intunewinという形式にいったん変換後、Intuneで配信することが可能となります。
***本記事は、intunewinの利用を前提***としています。

https://learn.microsoft.com/ja-jp/mem/intune/apps/apps-win32-prepare
:::

:::note info
msiアプリの場合
Intuneで、msiアプリをアプリ配布する場合は、アプリのプロファイル情報に、自動で、インストールコマンドやアンインストールコマンドが、Intuneのアプリプロファイルに反映されます。
:::

:::note alert
前置き
本記事は、2024年7月時点となります。

掲載内容の利用は、各自の責任でお願いいたします。
掲載内容で生じた損害に対する一切の責任を負いません。 
また、問題がある場合は、ご指摘いただければ修正させていただきます。
:::

# 2.各アプリのインストール/アンインストールコマンド

## 2-1.参考になるサイト
### Microsoft Learn

Win32 コンテンツ準備ツール（intunewin)に関する公式ページです。
本ツールを利用して、exeをintunewinに変換することができます。

https://learn.microsoft.com/ja-jp/mem/intune/apps/apps-win32-prepare#convert-the-win32-app-content

***ダウンロード先***

https://github.com/Microsoft/Microsoft-Win32-Content-Prep-Tool


***利用例***
それでは、Microsoft Intune リモートヘルプアプリを例に利用手順を記載します。

Gituhubからzipをダウンロードしたら、ファイルを解凍し、「IntuneWinAppUtil.exe」があるフォルダに、dstとsrcというフォルダを作成します。

Microsoft Intune リモートヘルプアプリのインストーラのファイル名を、```remotehelpinstaller.exe```に修正して、```src```の配下に置いておきます。

```powershell
.\IntuneWinAppUtil.exe -c ".\src" -s ".\src\remotehelpinstaller.exe" -o ".\dst"
```

引数の意味
* -c : このフォルダにあるファイルが、 ```.intunewin```に変換されます
　今回は、ここにリモートヘルプアプリのインストーラを置いています
* -s : セットアップファイルです
* -o : 出力フォルダです

以下のように、INFO File (省略) has been generated successfully という表示がでれば成功です。
dstフォルダに、intunewin形式となったファイルがあるので、こちらをIntuneにアップロードします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/007b5b81-d0d7-be27-511c-978e07effc60.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/df300410-ffe7-3125-2d28-4846e8f712fa.png)

### 企業ブログ
JBS Tech Blogに、アンインストールコマンドに関する確認方法の記事があります。

https://blog.jbs.co.jp/entry/2022/07/07/180319

例えば、7-Zip(x64)であれば、64bitアプリなので、レジストリエディター中の
```\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall```
に、アンインストールコマンドの情報があります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/aa81c50f-4149-163e-2bc3-b38f5f251f3a.png)

32bitアプリの場合は、レジストリエディター中の
```\HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\```
にあります。

### 海外サイト
Silent Install HQという海外のブログサイトに、各アプリのインストールコマンドやアンインストールコマンドに関する情報のまとめがあります。
右上にある検索窓から、検索したいアプリを探すことができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/e8da7aad-30d9-fb65-3bd5-0660cda9e260.png)

https://silentinstallhq.com/

# 3.各アプリのインストール/アンインストールコマンド

### 7-Zip (x64)
バージョン：24.06

①インストールコマンド
```powershell
"%SystemRoot%\System32\msiexec.exe" /i "7z2406-x64.msi" /qn
```

②アンインストールコマンド
```powershell
"%SystemRoot%\System32\msiexec.exe" /X {23170F69-40C1-2702-2406-000001000000} /qn
```

③リターンコード
```
0 成功
3010 ソフト リブート
1618 再試行
1707 成功
```

④検出規則
```powershell
#フォルダ
%ProgramFiles%\7-Zip

#ファイル 
7zFM.exe

#レジストリ 
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{23170F69-40C1-2702-2406-000001000000}
```

### Azure CLI
バージョン：2.60.0

①インストールコマンド
```powershell
"%SystemRoot%\System32\msiexec.exe" /i "azure-cli-2.60.0.msi" /qn
```

②アンインストールコマンド
```powershell
"%SystemRoot%\System32\msiexec.exe" /X {A1BBC0CC-F989-4E1D-8536-B8614E5F623E} /qn
```

③リターンコード
```
0 成功
1641 ハード リブート
3010 ソフト リブート
1618 再試行
1707 成功
```

④検出規則
```powershell
#パス
%ProgramFiles%\Microsoft SDKs\Azure\CLI2

#ファイル 
python.exe

#レジストリ 
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{A1BBC0CC-F989-4E1D-8536-B8614E5F623E}
```

### Burp Suite Community Edition (x64)
バージョン：2024.5.2

①インストールコマンド
```powershell
"burpsuite_community_windows-x64_v2024_5_2.exe" -q
```

②アンインストールコマンド
```powershell
"%ProgramFiles%\BurpSuiteCommunity\uninstall.exe" -q
```

③リターンコード
```
0 成功
3010 ソフト リブート
```

④検出規則
```powershell
#パス
%ProgramFiles%\BurpSuiteCommunity

#ファイル
BurpSuiteCommunity.exe
```

### Chrome for Business 64-bit
バージョン：126.0.6478.62

①インストールコマンド
```powershell
"%SystemRoot%\System32\msiexec.exe" /i "googlechromestandaloneenterprise64.msi" /qn
```

②アンインストールコマンド
```powershell
"%SystemRoot%\System32\msiexec.exe" /X {FA73F3C0-71CE-3E32-8DBE-17319EA35FAB} /qn
```

③リターンコード
```
0 成功
3010 ソフト リブート
1618 再試行
1707 成功
```

④検出規則
```powershell
#パス
%ProgramFiles%\Google\Chrome\Application

#ファイル
chrome.exe
```

### Docker Desktop (x64)
バージョン：4.31.1.153621

①インストールコマンド
```powershell
"Docker Desktop Installer.exe" install --quiet
```

②アンインストールコマンド
```powershell
"%ProgramFiles%\Docker\Docker\Docker Desktop Installer.exe" uninstall --quiet
```

③リターンコード
```
0 成功
3010 ソフト リブート
1641 ハード リブート
```

④検出規則
```powershell
#パス
%ProgramFiles%\Docker\Docker

#ファイル
Docker Desktop.exe
```

### Foxit PDF Editor 12 (Multi-Language)
バージョン：12.1.7.15526

①インストールコマンド
```
"%SystemRoot%\System32\msiexec.exe" /i "FoxitPDFEditor1217_L10N_Setup_Website.msi" /qn
```

②アンインストールコマンド
```powershell
"%SystemRoot%\System32\msiexec.exe" /X {594B0362-1A2D-11EF-B75A-54BF64A63C26} /qn
```

③リターンコード
```
0 成功
3010 ソフト リブート
1618 再試行
1707 成功
```

④検出規則
```powershell
#パス
%ProgramFiles%\Foxit Software\Foxit PDF Editor

#ファイル
FoxitPDFEditor.exe
```

### GIMP
バージョン：2.10.38

①インストールコマンド
```powershell
"gimp-2.10.38-setup.exe" /VERYSILENT /NORESTART /SUPPRESSMSGBOXES /MERGETASKS="!desktopicon"
```

②アンインストールコマンド
```powershell
"%ProgramFiles%\GIMP 2\uninst\unins000.exe" /VERYSILENT
```

③リターンコード
```
0 成功
3010 ソフト リブート
```

④検出規則
```powershell
#パス
%ProgramFiles%\GIMP 2\bin

#ファイル 
gimp-2.10.exe

#レジストリ 
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\GIMP-2_is1
```

### OpenVPN (x64)
バージョン：2.6.10 (2.6.1001)

①インストールコマンド
```powershell
"%SystemRoot%\System32\msiexec.exe" /i "OpenVPN-2.6.10-I001-amd64.msi" /qn
```

②アンインストールコマンド
```powershell
"%SystemRoot%\System32\msiexec.exe" /X {B0168D30-5FDB-49B3-BD29-8F6D87543786} /qn
```

③リターンコード
```
0 成功
3010 ソフト リブート
1618 再試行
1707 成功

```

④検出規則
```powershell
#パス
%ProgramFiles%\OpenVPN\bin

#ファイル
openvpn.exe
```

### PuTTY (x64)
バージョン：0.81.0.0

①インストールコマンド
```powershell
"%SystemRoot%\System32\msiexec.exe" /i "putty-64bit-0.81-installer.msi" /qn
```

②アンインストールコマンド
```powershell
"%SystemRoot%\System32\msiexec.exe" /X {DDC95F26-92B1-4546-9678-5DC68DF76BA0} /qn
```

③リターンコード
```
0 成功
3010 ソフト リブート
1618 再試行
1707 成功
```

④検出規則
```powershell
#パス
%ProgramFiles%\PuTTY

#ファイル 
putty.exe

#レジストリ 
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{DDC95F26-92B1-4546-9678-5DC68DF76BA0}
```

### Python 3.11 (x64)
バージョン：3.11.8150.0

①インストールコマンド
```powershell
"python-3.11.8-amd64.exe" /install /quiet /norestart InstallAllUsers=1
```

②アンインストールコマンド
```powershell
"python-3.11.8-amd64.exe" /uninstall /quiet /norestart
```

③リターンコード
```
0 成功
3010 ソフト リブート
```

④検出規則
```powershell
#パス
%ProgramFiles%\Python311

#ファイル 
python.exe

#レジストリ 
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{2780C09B-4A42-44B3-A208-4167DF91BBB7}
```

### Microsoft Entra Global Secure Access
バージョン：1.8.239

①インストールコマンド
```powershell
"GlobalSecureAccessClient.exe" /install /quiet /norestart
```

②アンインストールコマンド
```powershell
"GlobalSecureAccessClient.exe" /uninstall /quiet /norestart
```

③検出規則
```powershell
#パス
C:\Program Files\Global Secure Access Client

#ファイル
GlobalSecureAccessTunnelingService.exe
```

### Microsoft Intune Remote Help
バージョン：5.1.1214.0

①インストールコマンド
```powershell
"remotehelpinstaller.exe" /quiet acceptTerms=1 enableAutoUpdates=0
```

②アンインストールコマンド
```powershell
"remotehelpinstaller.exe" /uninstall /quiet acceptTerms=1
```

③リターンコード
```
0 成功
3010 ソフト リブート
```

④検出規則
```powershell
#パス
%ProgramFiles%\Remote help

#ファイル
RemoteHelp.exe
```


### Rocket.Chat (x64)
バージョン：3.9.14

①インストールコマンド
```powershell
"%SystemRoot%\System32\msiexec.exe" /i "rocketchat-3.9.14-win-x64.msi" /qn
```

②アンインストールコマンド
```powershell
"%SystemRoot%\System32\msiexec.exe" /X {6768C3AA-C34B-4B1A-840B-37B1C00A6BEB} /qn
```

③リターンコード
```
0 成功
3010 ソフト リブート
1618 再試行
1707 成功
```

④検出規則
```powershell
#パス
%LocalAppData%\Programs\rocketchat

#ファイル 
Rocket.Chat.exe

#レジストリ 
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{6768C3AA-C34B-4B1A-840B-37B1C00A6BEB}
```

### Visual Studio Code (x64)
バージョン：1.90.1

①インストールコマンド
```powershell
"VSCodeSetup-x64-1.90.1.exe" /VERYSILENT /NORESTART /MERGETASKS=!runcode
```

②アンインストールコマンド
```powershell
"%ProgramFiles%\Microsoft VS Code\unins000.exe" /VERYSILENT
```

③リターンコード
```
0 成功
3010 ソフト リブート
```

④検出規則
```powershell
#パス
%ProgramFiles%\Microsoft VS Code

#ファイル
Code.exe
```

### Webex Meetings
バージョン：44.6.1.4

①インストールコマンド
```powershell
"%SystemRoot%\System32\msiexec.exe" /i "webexapp.msi" /qn AUTOOC=0
```

②アンインストールコマンド
```powershell
"%SystemRoot%\System32\msiexec.exe" /X {7DC46D6D-4D5B-E7ED-3663-37BCC0E86A63} /qn
```

③リターンコード
```
0 成功
3010 ソフト リブート
1618 再試行
1707 成功
```

④検出規則
```powershell
#パス
%ProgramFiles%\Webex\Webex\Applications

#ファイル
ptoneclk.exe
```

### WinMerge (x64)
バージョン：2.16.40

①インストールコマンド
```powershell
"WinMerge-2.16.40-x64-Setup.exe" /VERYSILENT
```

②アンインストールコマンド
```powershell
"%ProgramFiles%\WinMerge\unins000.exe" /VERYSILENT
```

③リターンコード
```
0 成功
3010 ソフト リブート
```

④検出規則
```powershell
#パス
%ProgramFiles%\WinMerge

#ファイル 
WinMergeU.exe

#レジストリ 
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\WinMerge_is1
```

### WinSCP
バージョン：6.3.4

①インストールコマンド
```powershell
"WinSCP-6.3.4-Setup.exe" /VERYSILENT /NORESTART /ALLUSERS
```

②アンインストールコマンド
```powershell
"%ProgramFiles(X86)%\WinSCP\unins000.exe" /VERYSILENT /NORESTART
```

③リターンコード
```
0 成功
3010 ソフト リブート
```

④検出規則
```powershell
#パス 
%ProgramFiles%\WinSCP

#ファイル
WinSCP.exe
```

### Zoom Client for Meetings (x64)
バージョン：5.17.34827

①インストールコマンド
```powershell
"%SystemRoot%\System32\msiexec.exe" /i "ZoomInstallerFull.msi" /qn
```

②アンインストールコマンド
```powershell
"%SystemRoot%\System32\msiexec.exe" /X {334503B4-0A36-45A2-8206-A6B37A1F8B5B} /qn
```

③リターンコード
```
0 成功
3010 ソフト リブート
1618 再試行
1707 成功
```

④検出規則
```powershell
#パス
%ProgramFiles%\Zoom\bin

#ファイル
Zoom.exe
```

# 3.おわりに

Win32アプリを配布する場合は、コマンド調査が必要になるので、なるべくMSIアプリや、Microsoft Storeアプリの方を利用したいものです。