PowerShellによる印刷ジョブのクエリと削除のコード例
2022-02-05 05:33:57
Windows 8.1 または Server 2012 R2 の場合
Windows 8.1およびServer 2012 R2には、ローカルおよびリモートプリンターを管理するためのすべてのコマンドを含むPowerShellコンポーネント: "PrintManagement"が付属しています。
前回のTipsでは、プリンターのジョブを読み取る方法を紹介しました。各印刷ジョブにはJobStatusというプロパティがあり、そのジョブが正常に印刷されたかどうかを示しています。
すべてのステータスはこのように取得することができます。
コピーコード
コードは以下の通りです。
PS> Import-Module PrintManagement
PS> [Microsoft.PowerShell.Cmdletization.GeneratedTypes.PrintJob.JobStatus]::GetNames([Microsoft.PowerShell.Cmdletization. GeneratedTypes.PrintJob.JobStatus])
Normal
Paused
Error
Deleting
Spooling
Printing
Offline
PaperOut
Printed
Deleted
Blocked
UserIntervention
Restarted
Complete
Retained
RenderingLocally
次のステップは、すでに存在するタスクにフィルタをかけることです。例えば、印刷ジョブが完了したのか、それとも障害が発生したのかをリストアップしたい場合です。
コピーコード
コードは以下の通りです。
$ComputerName = $env:COMPUTERNAME
Get-Printer -ComputerName $ComputerName | ForEach-Object {
Get-PrintJob -PrinterName $_.Name -ComputerName $ComputerName |
Where -Object { $_.JobStatus -eq 'Complete' -or $_.JobStatus -eq 'Error' -or $_.JobStatus -eq 'Printed'}
}
印刷ジョブの削除も非常に簡単で、Remove-PrintJobは次のように行うことができます。
コピーコード
コードは以下の通りです。
$ComputerName = $env:COMPUTERNAME
Get-Printer -ComputerName $ComputerName | ForEach-Object {
Get-PrintJob -PrinterName $_.Name -ComputerName $ComputerName |
Where -Object { $_.JobStatus -eq 'Complete' -or $_.JobStatus -eq 'Error' -or $_.JobStatus -eq 'Printed'}
}
Remove-PrintJob -CimSession $ComputerName
関連
-
PowerShellコマンド集(概要)
-
powershellでSQL SERVERの全バージョンを弄る方法
-
Win Server 2008 R2のためのPowerShellマネジメント
-
PowerShellの基本的な使い方のチュートリアル
-
PowerShellで現在実行中のスクリプトのパスを取得する方法
-
PowerShellでパイプラインを終了させる方法
-
PowerShelプログラム実行後、スクリプト自体を削除する方法
-
Powershellで "確認プロンプト "をブロックする方法
-
PowerShell ローカルアカウントスクリプト共有の追加
-
Powershellでカスタムオブジェクトを作成する例
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Android携帯のwifiプロキシを自動設定するPowerShellスクリプト
-
デジタル署名のないスクリプトはPowerShellで実行されない
-
SQL SERVERデータベースに接続して操作するためのPowerShellコード
-
特定のWebページに関する情報を取得するPowershellコード
-
PowerShell 4.0によるサーバセットアップの自動化
-
PowerShellの条件付きパイプライン終了方法
-
PowerShellで特殊記号をコンソールに出力する方法
-
Powershellですべてのディスクレターを取得する方法
-
タイプ別ソートのPowershell実装
-
Powershellは、ローカルレジストリからすべてのソフトウェア関連付けの拡張子を読み取ります。