我正在尝试制作一个将在 OU 中运行的 Powershell 脚本,因此当用户关闭笔记本电脑时,它将删除本地打印机,当他们打开笔记本电脑时,它将重新添加并重命名本地连接的打印机(这将允许笔记本电脑停靠在不同的房间,仍然使用本地打印机)。启动脚本工作正常。它重新添加打印机,重命名它并设置托盘等。但是关闭脚本似乎无法正常工作。
运行关闭脚本时,它会从设备管理器/打印管理器/注册表中删除打印机,但它似乎仍然在设备和打印机中显示为“驱动程序不可用”。因此,当笔记本电脑重新启动时,启动脚本不起作用,因为打印机处于上述错误状态。解决方法是右键单击设备和打印机中的打印机并按“删除设备”,但显然在关机期间无法执行此操作。
无论如何通过Powershell从“设备和打印机”中删除设备?它确实适用于网络打印机,但不会完全删除本地打印机。
$GetDriver = (Get-Printer -Name "Reports" | Select-Object DriverName | ConvertTo-Csv -NoTypeInformation -Delimiter ",") | % {$_ -replace '"',''} | Select-Object -Skip 1
$GetPort = (Get-Printer -Name "Reports" | Select-Object PortName | ConvertTo-Csv -NoTypeInformation -Delimiter ",") | % {$_ -replace '"',''} | Select-Object -Skip 1
Get-Printer -Name "Reports" | Rename-Printer -NewName $GetDriver
Remove-Printer -Name $GetDriver
Remove-PrinterPort -Name $GetPort
提前感谢您的帮助