时间:2021-05-22
适用于Windows 8.1或Server 2012 R2
Windows 8.1 和 Server 2012 R2上自带了一个PowerShell组件:“PrintManagement“,它包含了所有管理本机和远程打印机的命令。
在之前的小技巧中,我们演示了如何读取打印机任务。每一个打印任务都有一个属性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
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
下面例子使用Powershell线程运行了两个后台任务和一个前台任务,创建几个运行时间长点的任务,并且每个任务命令中添加使用Start-Sleep。复制代码代码
本文实例讲述了Yii框架数据库查询、增加、删除操作。分享给大家供大家参考,具体如下:Yii数据库查询模型代码:1))->all();var_dump($data
PowerShell中对数组进行插入、删除、添加数组元素的操作是很不方便,而且效率也是很低下的。那是因为数组对象本身并没有插入和删除的功能,每次的操作都是将数组
函数是自定义的Powershell代码,有三个原则:简短:函数名简短,并且显而易见。聚合:函数可以完成多个操作。封装和扩展:将一批Powershell语句进行封
打印机驱动的安装是非常容易的,但是如果出现打印机驱动坏了,导致打印不正常,我们习惯删除打印驱动的操作是:“开始--打印机和传真,在要删除的打印机上点