我是PowerShell的新手(大约1周),我正在尝试为我们的服务台创建一个导入和导出打印机的工具。该工具运行良好,除了表单在运行代码时冻结。
为了减轻冻结,我发现将其作为一项工作来完成任务,但是我遇到了2个问题。
我无法将变量传递给它。 (我并不担心这一点,因为有大量的信息,我只需要弄清楚它的语法。如果你也可以帮助它,那将是很好的。)
start-job -scriptblock {
C:\Windows\system32\spool\tools\PrintBrm.exe -b -f \\filestore\$EXPORTPRINTERS.printerExport
$progressbarexportprinters.PerformStep()
$progressbarexportprinters.TextOverlay = "Printer Export Complete"
}
我找到了解决方案。表格仍然冻结,但我可以在进度条上显示运动。这将是足够好的。
C:\Windows\system32\spool\tools\PrintBrm.exe -r -f \\filestore\$EXPORTPRINTERS.printerExport | out-string -Stream | foreach-object {
$richTextBox1.lines = $richTextBox1.lines + $_
$richTextBox1.Select($richTextBox1.Text.Length, 0)
$richTextBox1.ScrollToCaret()
$progressbaraddprinters.PerformStep()
}