Engineering

Intune プリンタードライバーの配布方法を解説

はじめに

​Intuneを活用することで、組織内のデバイスにプリンタードライバーを効率的に配布し、プリンターの導入プロセスを自動化できます。以下に、Intuneを使用したプリンタードライバーの配布方法を解説します。​

全体の流れ

Intuneを利用してプリンタードライバーを配布する手順は以下のとおりです:​

  1. ドライバーファイルの準備:​プリンターメーカーのウェブサイトから適切なドライバーファイルをダウンロードし、必要なファイル(.inf、.cat、.cabなど)を抽出します。​
  2. インストールスクリプトの作成:​PowerShellスクリプトを作成し、PnPUtilツールを使用してドライバーをシステムに追加し、プリンターをインストールします。​
  3. Intunewinパッケージの作成:​Intune Win32 コンテンツ準備ツールを使用して、ドライバーファイルとスクリプトを.intunewin形式にパッケージ化します。​
  4. Intuneへのアプリ登録と配布:​作成した.intunewinパッケージをIntuneにアップロードし、対象のデバイスグループに配布します。​

それでは各手順を見ていきましょう。

ドライバーファイルの準備

ドライバーのダウンロードと解凍

まず、プリンターメーカーの公式サイトから最新のプリンタードライバーをダウンロードします。​ダウンロードしたファイルが自己解凍形式の.exeファイルの場合、コマンドラインで解凍するか、解凍ソフトを使用して必要なファイルを抽出します。​特に、.infファイル(ドライバーのインストール情報)と.catファイル(セキュリティカタログ)は必須です。​

今回はKonica Minoltaのbizhub C554を例にします。

ドライバーページからWindows 10のドライバーをダウンロードします。※Windows 11はサポートされていませんが動作します。


必要なファイルの特定方法

INFファイルの場所を確認する:

  • 一般的に、プリンタードライバーのINFファイルはフォルダ構成内のDriversフォルダ以下に格納されています。
  • bizhub C554の場合、以下のディレクトリにINFファイルがあります:
Drivers\PCL\JA\Win_x64

SourceDisksNamesセクションを確認する:

INFファイル内に[SourceDisksNames.amd64]の記述を探し、参照するディスク番号を特定します。

[SourceDisksNames.amd64]
9=%DiskName%,,

この番号(9)に対応するファイルが必要なドライバーファイルです。

SourceDisksFilesセクションを確認する:

  • INFファイル内の[SourceDisksFiles]セクションで、インストールに必要なファイルを確認できます。
  • 例えば、以下のような記述があれば、KOAYTJ__.CATKOAYTJ__.INFが必要なファイルであることがわかります。
KOAYTJ__.CAT=9
KOAYTJ__.INF=9
  • 確認したINFファイル(例:KOAYTJ__.INF)と、そのINFファイル内のSourceDisksFilesセクションで指定されているファイルを同じフォルダにまとめます。今回はDrivers\PCL\JA\Win_x64配下のファイルすべてまとめます。
  • これらのファイルをIntunewin用のフォルダにコピーします。
    • 証明書が事前にインストールされていない場合、サイレントインストールできない場合があるのでINFファイル内に記載はないですが、CATファイルもコピーします。

インストールスクリプトの作成

次に、PowerShellスクリプトを作成してドライバーのインストールとプリンターの追加を行います。
今回利用したインストールスクリプトです:

# ログファイルのパスを設定し、ログの記録を開始(省略可)
$logPath = "C:\install_printer_log.txt"
Start-Transcript -Path $logPath

# ドライバーファイルのパスを設定
$driverPath = "C:\Drivers\PCL\JA\Win_x64"
$infFile = "$driverPath\KOAYTJ__.INF"
$catFile = "$driverPath\KOAYTJ__.CAT"

# サイレントインストールを確実にするため、事前にCATファイルから証明書をインストール
$cert = Get-AuthenticodeSignature -FilePath $catFile
if ($cert.SignerCertificate -ne $null) {
    # TrustedPublisherストアに証明書を追加
    $store = New-Object System.Security.Cryptography.X509Certificates.X509Store "TrustedPublisher", "LocalMachine"
    $store.Open("ReadWrite")
    $store.Add($cert.SignerCertificate)
    $store.Close()
    Write-Output "証明書が正常にインストールされました。"
} else {
    Write-Output "証明書の抽出に失敗しました。"
}

# certutilコマンドで証明書を追加
certutil.exe -addstore "TrustedPublisher" $catFile

# プリンタードライバーのインストール
c:\windows\sysnative\Pnputil.exe /add-driver "$infFile" /install

# 使用するプリンタードライバーの名前を指定
$driverName = "KONICA MINOLTA C554SeriesPCL"
Add-PrinterDriver -Name $driverName

# プリンターのIPアドレス設定
$printerName1 = "<プリンター名>"
$printerIP1 = "<IPアドレス>"

# IPポートを作成し、プリンターを追加
Add-PrinterPort -Name "IP_$printerIP1" -PrinterHostAddress $printerIP1
Add-Printer -Name $printerName1 -DriverName $driverName -PortName "IP_$printerIP1"


# ログの記録を停止(省略可)
Stop-Transcript

Intunewinパッケージの作成

上記のスクリプトと項番1で準備したファイルを同じディレクトリに保存します。
以下の記事に従いIntunewinファイルを作成します。
Intuneを利用したアプリ配布方法をご紹介① – Win32アプリ編 – | さとりファクトリ

インストールコマンド:

powershell.exe -executionpolicy bypass .\install-printer.ps1

検出規則:

レジストリの値を確認します。<プリンター名>は設定するプリンターの名前に読み替えてください。

キーパス:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Printers\<プリンター名>

値:<プリンター名>

まとめ

本記事では、Intuneを利用したプリンタードライバー配布の手順を解説しました。

  • ドライバーの準備 から スクリプトの作成パッケージ化Intuneへの登録までのプロセスを網羅。
  • サイレントインストールを確実にするための証明書のインストール も考慮。
  • Intuneアプリ配布の検出規則 で、正常にプリンターがインストールされているかをレジストリで確認。
    

関連記事

コメント

この記事へのコメントはありません。

TOP