Windows でのプリンターの操作
このサンプルは Windows プラットフォームにのみ適用されます。
PowerShell を使用してプリンターを管理するには、WMI を使用する方法と WSH から WScript.Network COM オブジェクトを使用する方法があります。
プリンター接続の一覧表示
コンピューターにインストールされているプリンターを一覧表示する最も簡単な方法は、WMI の Win32_Printer クラスを使用することです。
Get-CimInstance -Class Win32_Printer
WScript.Network という COM オブジェクト (通常、WSH スクリプトで使用されます) を使用してプリンターを一覧表示することもできます。
(New-Object -ComObject WScript.Network).EnumPrinterConnections()
このコマンドは、ポート名とプリンター デバイス名の単純な文字列コレクションを返し、識別に役立つラベルがないため、わかりにくい場合があります。
ネットワーク プリンターの追加
新しいネットワーク プリンターを追加するには、WScript.Network を使用します。
(New-Object -ComObject WScript.Network).AddWindowsPrinterConnection("\\Printserver01\Xerox5")
通常使うプリンターの設定
通常使うプリンターを WMI を使用して設定するには、Win32_Printer コレクションでプリンターを検索し、SetDefaultPrinter メソッドを呼び出します。
$printer = Get-CimInstance -Class Win32_Printer -Filter "Name='HP LaserJet 5Si'"
Invoke-CimMethod -InputObject $printer -MethodName SetDefaultPrinter
WScript.Network の方が多少簡単に使用できます。これは、プリンター名のみを引数として取る SetDefaultPrinter メソッドを備えているためです。
(New-Object -ComObject WScript.Network).SetDefaultPrinter('HP LaserJet 5Si')
プリンター接続の削除
プリンター接続を削除するには、WScript.Network RemovePrinterConnection メソッドを使用します。
(New-Object -ComObject WScript.Network).RemovePrinterConnection("\\Printserver01\Xerox5")
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
PowerShell