![](/img/trans.png)
[英]Get printers installed from server from remote computer using Powershell
[英]Powershell: Trouble getting a list of network printers from a remote computer and installing those printers on a new computer
學習Powershell需要2周的時間,所以請慢慢解釋。 $ oldMachineName通常由用戶使用讀取主機設置。 在下面的腳本中,我用各種名稱替換了它以測試不同的場景。
我的劇本:
$oldPcName = Read-Host "Please enter the name or IP address of the old pc."
$oldNetworkPrinters = Get-WmiObject win32_printer -ComputerName "$oldPcName"
foreach ($printer in $oldNetworkPrinters)
{
$fullPath =$printer.name
write-host $fullPath
(New-Object -ComObject WScript.Network).AddWindowsPrinterConnection($fullPath)
}
當我在舊計算機上運行腳本並獲得其自己的打印機列表時,$ fullPath的結果值:
PDF-XChange 4.0
Microsoft XPS文檔編寫器
傳真
CutePDF作家
\\ PPAS0969I \\ PPAP_RIVERHOUNDS_PCL
\\ PPAS0969I \\ PPAP_HP5KIT_PCL
\\ PPAS0969I \\ PPAP_HP5KIT_PS
\\ PPAS0969I \\ PPAP_RIVERHOUNDS_PS
\\ PPAS0969I \\ ppap_panthers_pcl
當我在新計算機上運行腳本並獲得舊計算機的打印機列表時,$ fullPath的結果值:
PDF-XChange 4.0
Microsoft XPS文檔編寫器
傳真
CutePDF作家
當我在新計算機上運行腳本並獲得其自己的打印機列表時,$ fullPath的結果值:
PDF-XChange 4.0
Microsoft XPS文檔編寫器
傳真
從新計算機獲得舊列表時出現的CutePDF writer判斷,以及新計算機獲得其自己的列表時,沒有出現CutePDF書寫器,我想說的是新計算機已成功從舊計算機接收到打印機列表。 現在,為什么列表中沒有包含網絡打印機?
網絡打印機(與另一台服務器共享的打印機,即PPAS0969I)是按用戶使用的,因此,當您查詢Win32_Printer
,您只會看到本地打印機以及當前配置文件中加載的打印機。
為了幫助說明,請嘗試運行以下命令:
gwmi win32_printer | select name,local | ft -a
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.