我目前正在尝试编写一个PowerShell脚本,根据文件中的值设置用户默认打印机。
如果文件中的值是联网打印机\ share \ printername,则脚本将失败。我假设这是由于斜杠“\”。应如何在powershell中处理这个问题。我正在尝试确定是否需要添加一些特殊字符来逃避斜杠。
##Read Default Printer value from file and set as new Default printer.
$path="\\share\profiles$\$env:username.V2\DefaultPrinter.txt"
$DefaultPrinterName=Get-Content $path
$DefaultPrinter = Get-Wmiobject -Query "Select * FROM WIN32_Printer WHERE Name like '$DefaultPrinterName'"
$DefaultPrinter.SetDefaultPrinter()
答案 0 :(得分:1)
您只需使用双\
示例:
gwmi -Query "Select * from Win32_Printer where name like '\\\\192.168.2.49\\HP Color LaserJet 2600n'"
Location :
Name : \\192.168.2.49\HP Color LaserJet 2600n
PrinterState : 33554432
PrinterStatus : 3
ShareName : HPCL2600
SystemName : \\192.168.2.49
答案 1 :(得分:0)
您必须指定打印机的名称,而不是打印机的路径。
在这种情况下,请仅提供" HP Color LaserJet 2600n"在查询中,查询将返回正确的输出。
所以最后的查询应该是 - "从Win32_Printer中选择*,其名称类似于' HP Color LaserJet 2600n'"