我的任务是让客户在十几个Windows 2008r2节点上重命名数千台打印机。显然,这是powershell的工作。但我只有PowerShell 2.0。我想删除它们只是重建它们,但这需要更长的时间。
我需要做的是抓住打印机并更改其名称。问题,对于我的生活,我无法找到如何获得特定的打印机!
我需要知道的是如何按名称查找打印机(我有电子表格),获取其对象,并将其修改为新名称。求救!
请注意,我不知道如何使用vbscript。昨天和今天早上我花了很多时间试图找出如何在vb中使用Win32_Printer而我只是放弃了。
答案 0 :(得分:2)
要与PowerShell中的Win32_Printer
进行互动,请使用Get-WmiObject
:
$Printer = Get-WmiObject -Query "SELECT * FROM Win32_Printer WHERE NAME = 'Printer01'"
现在,要重命名打印机,请在$Printer
上调用RenamePrinter()
方法:
$Rename = $Printer.RenamePrinter("NewPrinterName01")
if($Rename.ReturnValue -eq 0){
Write-Host "Printer renamed"
} else {
Write-Warning "Rename failed"
}