与foreach苦苦挣扎

时间:2014-11-05 00:13:33

标签: powershell printing

对于这整个脚本来说,我很新,而且非常糟糕:所以任何帮助都会受到赞赏。

基本上我正在尝试创建一个PowerShell脚本,在未定义数量的计算机上安装未定义数量的打印机。计算机名称和打印机名称将来自本地文本文件。

这是我到目前为止所做的:

$credentials = Get-Credential
$printerlist = Get-Content c:\setup\printers.txt
get-content c:\setup\names.txt | foreach-object {foreach($printer in $printerlist){rundll32 printui.dll PrintUIEntry /ge /c $_ /n  $printer}} 
编辑:我收到错误,无法枚举每台机器打印机连接操作无法完成(错误0x0000007b)我尝试修改脚本无论如何我可以想出,这可能是应有的方式。

1 个答案:

答案 0 :(得分:0)

我认为你的foreach循环没有问题。

我认为这只是rundll32 printui.dll PrintUIEntry

的用法

安装打印机:

rundll32 printui.dll,PrintUIEntry /in /c "\\COMPUTER_NAME" /n "\\PRINT_SERVER_NAME\PRINTER_NAME"

设置默认打印机:

rundll32 printui.dll,PrintUIEntry /y /c "\\COMPUTER_NAME" /n "\\PRINT_SERVER_NAME\PRINTER_NAME"

尝试使用/in从powershell控制台单独为一台计算机安装而不使用脚本来查看是否仍然出现相同的错误,可能是权限,但我不这么认为。