簡體   English   中英

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM