Я экспортировал свои сетевые принтеры в файл .xml, чтобы их можно было установить на новый ПК.
Кроме того, я должен экспортировать принтер по умолчанию в файл, чтобы вы могли установить принтер по умолчанию после установки.
Установка работает нормально. Проблема заключается в том, что установка принтеров не была завершена до того, как сценарий попытается установить принтер по умолчанию.
Это мой скрипт для установки принтеров:
#Install the printer
$PrinterList = Import-Clixml H:\Backup\printers_export.xml
foreach($Printer in $PrinterList) {
Invoke-Expression 'rundll32 printui.dll PrintUIEntry /in /q /n $($Printer.Name)'
}
# Set default printer
(New-Object -ComObject WScript.Network).SetDefaultPrinter((get-content h:\Backup\DefaultPrinter.txt))
Одно решение, которое я нашел, это поставить Start-Sleep -s 15
после первых звонков, кто-нибудь может подсказать мне лучшее решение?