怎么检查打印机的状态

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么检查打印机的状态相关的知识,希望对你有一定的参考价值。

参考技术A

  导语:打印机是由约翰·沃特(JohnVaught)、戴夫·唐纳德发明的(他们两个合作发明了打印机) 。将计算机的运算结果或中间结果以人所能识别的数字、字母、符号和图形等,依照规定的格式印在纸上的设备。打印机正向轻、薄、短、小、低功耗、高速度和智能化方向发展。怎么检查打印机的状态?一起来看看相关的教程吧。

  怎么检查打印机的.状态

  对于Windows

  使用进程表

  当您向打印机发送打印作业时,进程表将打开,如下图所示。

  进程表显示当前打印作业的进程并提供打印机状态信息。 此窗口也显示错误信息和更好打印的帮助提示。 请参考下面的相应部分。

  提示

  有关更好地使用爱普生打印机驱动程序的各种提示会出现在进程表窗口底部的文本框中。 有关获取显示在窗口的提示的详细信息,请单击详细按钮。

  错误信息

  如果打印过程中发生错误,进程表窗口顶部的文本框中会出现一条错误信息。 有关详细信息,请单击技术支持访问用户指南。

  当墨盒墨量低或已到使用寿命时,将出现如何按钮。 单击如何,EPSON Status Monitor 3 会逐步指导您完成更换墨盒的操作。

  使用 EPSON Status Monitor 3

  EPSON Status Monitor 3 显示有关打印机状态的详细信息。

  有两种访问EPSON Status Monitor 3的方法:

  双击Windows任务栏上的打印机快捷图标。

  参见从任务栏上的快捷图标可添加快捷图标到Windows的任务栏上。

  打开打印机驱动程序,单击维护标签,然后单击 EPSON Status Monitor 3 按钮。

  当访问EPSON Status Monitor 3时,出现下面的窗口:

  EPSON Status Monitor 3提供下列信息:

  当前状态:

  如果墨水墨量低或用尽,如何按钮会出现在EPSON Status Monitor 3窗口中。 单击如何按钮可显示更换墨盒的说明,并使打印头移动到墨盒更换位置。

  墨量:

  EPSON Status Monitor 3 提供墨盒状态的图形显示。

  说明:

  可以通过单击信息图标来查看关于已安装墨盒的信息。

  技术支持:

  可以通过EPSON Status Monitor 3访问用户指南手册。如果遇到问题,请单击EPSON Status Monitor 3窗口中的技术支持。

  回到顶部

  对于Mac OS X

  使用EPSON StatusMonitor

  如果EPSON StatusMonitor检测到了打印机错误,它将通过错误信息提示您。

  请按下列步骤访问EPSON StatusMonitor。

    访问EPSON Printer Utility3

  对于Mac OS X访问打印机驱动程序

       单击 EPSON StatusMonitor 按钮。 出现EPSON StatusMonitor。

  当墨盒墨量低或已到使用寿命时,将出现如何按钮。 单击如何,EPSON StatusMonitor会指导您逐步完成更换墨盒的整个过程。

  也可使用此应用工具在打印之前检查墨量。 EPSON StatusMonitor打开时将显示此时的墨盒状态。 要更新墨盒状态信息,请单击更新按钮。

如何检查打印机是不是处于某种状态超过 30 分钟?

【中文标题】如何检查打印机是不是处于某种状态超过 30 分钟?【英文标题】:How can I check if printer is in some state longer than 30 minutes?如何检查打印机是否处于某种状态超过 30 分钟? 【发布时间】:2016-05-16 10:38:58 【问题描述】:

我有一个脚本,通过 WMI 检查来自所有打印服务器的所有打印机的状态。结果如下所示:

Name                            location                       Status                                                   
----                            --------                       ------                                                 
Xerox wc275.1                                                  Offline                                   
dnj-4000.1                                                     Offline                                 
6040.1                                                         Offline                        
m225.02                                                        Offline                                  
5225.01                                                        Offline    

如何检查打印机是否离线 30 分钟?我可以将输出放在文本文件中以进行日志记录或 smth 吗?我所需要的只是“如何做到”。稍后我将配置电子邮件通知等。但是我对powershell中的日志记录和解析一无所知。

【问题讨论】:

每隔 x 分钟检查一次状态,如果您在总共 30 分钟内获得相同的状态(“离线”),也许您可​​以认为在这段时间内它处于离线状态。刷新间隔 30 分钟可能有点长(打印机可能会在该时间跨度内联机和脱机)。 这只是一个简单的状态。不管是什么,离线,在线,错误或smth。我只想知道如何用powershell检查它。如果我每隔 x 分钟检查一次状态.. 不要认为这是一个好主意。记住离线打印机池并用时间跨度检查会更好吗? 如何知道离线30分钟? 【参考方案1】:

如果您每半小时将这些结果输出到一个文本文件,您可以使用 Compare-Object 报告两个文件之间的差异/相似之处:

$file1 = get-childitem -path "C:\Powershell\Test\Text" | sort LastWriteTime | select -ExpandProperty FullName -last 2 | Out-File C:\Powershell\path1.txt
$file2 = Get-Content -Path "C:\Powershell\path1.txt" | Select-Object -First 1
$file3 = Get-Content -Path "C:\Powershell\path1.txt" | Select-Object -Last 1
Compare-Object -ReferenceObject (Get-Content $file2) -DifferenceObject (Get-Content $file3) -IncludeEqual -ExcludeDifferent | sort InputObject     

其中,List1.txt 包含:

Xerox wc275.1                                                  Offline                                   
dnj-4000.1                                                     Offline                                 
6040.1                                                         Offline                        
m225.02                                                        Offline                                  
5225.01                                                        Offline

List2.txt 包含:

Xerox wc275.1                                                  Offline                                   
dnj-4000.1                                                     Online
6040.1                                                         Offline                        
m225.02                                                        Offline                                  
5225.01                                                        Online

所以结果给出了与 30 分钟前相同的行:

PS C:\WINDOWS\system32> C:\Powershell\Test\CompareMostRecentFiles.ps1

InputObject                                                                                                      SideIndicator                                                                                                  
-----------                                                                                                      -------------                                                                                                  
6040.1                                                         Offline                                           ==                                                                                                             
m225.02                                                        Offline                                           ==                                                                                                             
Xerox wc275.1                                                  Offline                                           ==                                                                                                             

注意事项:

这会检查特定文件夹中的 2 个最新文件,因此如果您每 30 分钟运行一次打印机检查并导出到文本文件,请确保将文本文件输出到它们自己的特定文件夹中包含其他任何内容,否则您将无法获得正确的结果。您还需要确保您的打印机检查脚本创建唯一的文本文件,并且不会一直覆盖相同的文件。

【讨论】:

【参考方案2】:

使用无限循环完成。

    $printers = @

Get-WmiObject -Class Win32_Printer | 
ForEach-Object 
    $printers[$_.Name] = $_ |
    Select-Object Name,DetectedErrorState,@Name='PreviousStatus';Expression=$_.DetectedErrorState,@Name='StatusTime';Expression=0


Do 
    $check = Get-WMIObject -Class Win32_Printer
    ForEach($printer in $check) 
        If($printers[$printer.Name].DetectedErrorState -ne $printer.DetectedErrorState) 
            $printers[$printer.Name].PreviousStatus = $printers[$printer.Name].DetectedErrorState
            $printers[$printer.Name].DetectedErrorState = $printer.DetectedErrorState
            $printers[$printer.Name].StatusTime = 0
         Else 
            $printers[$printer.Name].StatusTime += 1
        
    
    Start-Sleep 60
 While ($True)

非常感谢 Mr.Cduff 提出这个想法。

【讨论】:

以上是关于怎么检查打印机的状态的主要内容,如果未能解决你的问题,请参考以下文章

惠普打印机怎么连不上,提示未找到打印机。

共享打印机显示无响应怎么处理

为啥打印机可以打印却不能复印?

vb.net 中是不是有任何代码来检查打印机状态

打印机有打印任务但不工作是为啥?

Shell命令的退出状态及错误检查