Intuneを使用してプリンタドライバなどプリンタ環境のインストールを行う方法

2024年8月9日

概要

(A) プリンタドライバがインストールされるようなスクリプトを作成し、PC上で実行してみる(スクリプトがちゃんと動くか確認する)

(B)そのスクリプトを、 Intuneからばらまき、PC上で実行させる

★本手順は、PC上で実現したいことを実現してくれるスクリプトさえ作成できれば、プリンタドライバインストール以外でも応用可能な手順です。

詳細

Intune では、Win32 アプリという形式で自動的にデバイスにアプリケーションをインストールすることができます。

例えば、バッチファイル (.cmd)  や PowerShell  スクリプト (.ps1) を intunewin ファイルと呼ばれる Wi32 アプリの形式に変換し、配布をされている実績が多数あります。

(A) スクリプトでプリンタードライバー(ならびにパッケージ) をインストールできる状態とする。

Intune で多数のデバイスに自動インストールを行う前段階として、1台のデバイスでスクリプトにて意図した構成とすることができる状態とするところまでのフェーズです。

主に、以下のようなコマンドを利用して構成が可能かどうか検討します。

■印刷コマンドライン ツール リファレンス

https://learn.microsoft.com/ja-jp/windows-server/administration/windows-commands/print-command-reference

すでにスクリプト化されている場合には、上述のフェーズについてはスキップすることができます。

また、Intune でシステムコンテキストを利用して自動インストールを行う処理においては、 32bit のシステムコンテキストが利用されます。

こちらをシミュレートする場合、以下のようにテストを実施できます。

1. 以下のURL の  https://download.sysinternals.com/files/PSTools.zip より、PSTools.zip をダウンロードします。

PsExec v2.43

https://learn.microsoft.com/ja-jp/sysinternals/downloads/psexec

2. テストを行う端末に PSTools.zip をコピーして、任意のディレクトリに展開します。

ここでは、c:\temp\PsTools とします。

3. コマンドプロンプトを管理者権限で起動して、以下のように実行します。

C:\temp\PsTools\PsExec64.exe -s “C:\Windows\SysWOW64\cmd"

※システムコンテキストで32bit のコマンドプロンプトが起動します。

念のため、以下のように  whoami の結果が  nt authority\system となり、echo %PROCESSOR_ARCHITECTURE% の結果が x86 となっていることを確認してください。

C:\Windows\System32>whoami

nt authority\system

C:\Windows\System32>echo %PROCESSOR_ARCHITECTURE%

x86

4. 以下にように用意したスクリプトを実行し、正常にインストールされるかどうかをご確認ください。

別のスクリプトファイルや .sys、.inf ファイルなど、参照するファイルはすべて同一のディレクトリに配置していください。

(Intune で配布する際に、ディレクトリ配下のすべてのファイルを  .intunewin ファイルとして纏めるためです。)

// コマンドプロンプトの場合

%systemroot%\sysnative\cmd.exe /c <スクリプトファイル>

// PowerShell  の場合

“%systemroot%\sysnative\WindowsPowerShell\v1.0\Powershell.exe" -ex bypass -file <スクリプトファイル>

※ 上記で正常に動作する場合、Intune で自動的に配布することが可能と考えられます。

(B) Intune で自動インストールの設定を行う

Intune で Win32 アプリの配信を行う場合、以下のように構成します。

[1] Intunewin ファイルの準備

Win32 アプリとして、ユーザー権限、システム権限で配布する.intunewin ファイルを作成します。

1. 任意のディレクトリに、スクリプト一式を配置します。

ここでは、例として C:\temp\scripts とします。

2. 以下のサイトにアクセスし、右上の [・・・] から [Download) をクリックし、IntuneWinAppUtil.exeをダウンロードします。

ここでは、例として  C:\temp  配下に IntuneWinAppUtil.exe をダウンロードします。

https://github.com/microsoft/Microsoft-Win32-Content-Prep-Tool/blob/master/IntuneWinAppUtil.exe

3. コマンドプロンプトを管理者として起動し、以下のようにコマンドを実行します。

C:\temp\IntuneWinAppUtil.exe -c C:\temp\scripts -s C:\temp\scripts\install.bat -o C:\temp

※ インストール時の実行ファイルが install.bat の場合の例です。

※ -o オプションで指定した C:\temp 配下に .intunewin ファイルが作成されます。

[2] Win32 アプリの設定

[1] の手順で作成した intunewin ファイルを Intune から展開するために Win32 アプリとして設定します。

1. Intune のポータル サイトに管理者でアクセスします。

https://intune.microsoft.com/#home

2. [アプリ] – [Windows] から [+ 追加] – [Windows アプリ (Win32)] を選択し、[選択] をクリックします。

3. [アプリ パッケージ ファイルの選択] リンクをクリックし、.intunewin ファイルを指定し、[次へ] をクリックします。

4. アプリ情報は任意の設定を行い、[次へ] をクリックします。

5. プログラムで、以下を設定し、[次へ] をクリックします。

インストール コマンド : %systemroot%\sysnative\cmd.exe /c “.\install.bat”

アンインストール コマンド : %systemroot%\sysnative\cmd.exe /c “.\uninstall.bat”

インストール処理 : システム

デバイスの再起動 : リターン コードを基に動作を決定する

6. 必要条件で、対象デバイスの OS などの制限を行わない場合は以下を設定し、[次へ] をクリックします。

オペレーティング システムのアーキテクチャ : 32bit、64bit

最低限のオペレーティング システム : Windows 1607

7. 検出規則で、[+追加] をクリックし、プリンターパッケージがインストールされていることを示す条件を指定します。

8. 依存関係や置き換え、スコープの設定は既定の状態として、対象のデバイス グループの割り当てを行い、アプリの作成を完了します。