adding printer in remote machine is not working: invalid printer name

Welcome Forums General PowerShell Q&A adding printer in remote machine is not working: invalid printer name

Viewing 2 reply threads
  • Author
    Posts
    • #51712
      Participant
      Topics: 2
      Replies: 4
      Points: 0
      Rank: Member

      I have gone through many blogs for finding solution for this issue, but never find a solution.

      $CompName = "test.domain.com"
      $Printer = "\\122.21.10.11\PRINTER-NAME-1"
      Invoke-Command -ComputerName $CompName -Scriptblock {
      Param($p)
      (New-Object -Com Wscript.Network).AddWindowsPrinterConnection($p)
      } -ArgumentList $Printer
      I have even tried PSRemoting and tried to execute the ps1 file from remote machine. the same script is working in local and not working remote.

      Enter-PSSession -ComputerName "testserver.testdomain.com" -Authentication Credssp -Credential Get-Credential
      Error:

      Exception calling "AddWindowsPrinterConnection" with "1" argument(s): "The printer name is invalid. (Exception from HRESULT: 0x80070709)"

    • #51718
      Participant
      Topics: 1
      Replies: 169
      Points: 0
      Rank: Member

      It sounds as though you are having a issue with the second hop to the printer. Even though your pssession example is using Credssp there are several steps to ensure it is working. I would recommend reviewing the Second Hop section of "Secrets of PowerShell Remoting" (available for free from the eBooks section of this site)

      A quick test to verify the second hop is working is to connect to the remote system and do a dir against another system.

      Get-ChildItem \\SomeSystem\SomeShare
      
      • #51729
        Participant
        Topics: 2
        Replies: 4
        Points: 0
        Rank: Member

        Hi, I have already tested WinRM connectivity and access to remote server etc.
        I can even run other powershell or batch file in remote machine. Issue is only with adding printer.

      • #51821
        Participant
        Topics: 1
        Replies: 169
        Points: 0
        Rank: Member

        The issue is not connectivity to the remote server it is passing authenticating on the next hop. In this case the print server.

        For example this should work for you

        Invoke-Command -ComputerName Server1 -ScriptBlock {Get-ChildItem c:\}
        

        But this will fail

        Invoke-Command -ComputerName Server1 -ScriptBlock {Get-ChildItem \\Server2\admin`$}
        

        If credssp is configured on all systems correctly then this would work

        Invoke-Command -ComputerName Server1 -ScriptBlock {Get-ChildItem \\Server2\admin`$} -Authentication Credssp
        

        If it fails then at least one system is not setup for Credssp delegation. Both the system initiating the connection and the intermediary server must be configured.

      • #51851
        Participant
        Topics: 2
        Replies: 4
        Points: 0
        Rank: Member

        #Working without Credssp
        Invoke-Command -ComputerName remotemac.mydomain.com -ScriptBlock {Get-ChildItem C:\Users\myusername\Desktop}
        #Working with CredSSP
        Invoke-Command -ComputerName remotemac.mydomain.com -ScriptBlock {Get-ChildItem \\sharedmac\sharef} -Authentication Credssp -Credential mydomain\myusername
        #script is working, but not showing network printers
        Invoke-Command -ComputerName remotemac.mydomain.com -ScriptBlock {(New-Object -ComObject WScript.Network).EnumPrinterConnections()} -Authentication Credssp -Credential mydomain\myusername
        #Script gives error: Invalid Printer name
        $Printer = "\\172.26.30.13\SDB1-FLOOR1-B2" # i have tried this input in single, double, with and without escape character
        Invoke-Command -ComputerName remotemac.mydomain.com -ScriptBlock {Param($p)(New-Object -Com Wscript.Network).AddWindowsPrinterConnection("$p")} -ArgumentList $Printer -Authentication Credssp -Credential mydomain\myusername

        I'm totally stuck.
        I heard we can use Group Policy, is there anyway we can automate this using group policy?
        please suggest.

    • #51912
      Participant
      Topics: 1
      Replies: 169
      Points: 0
      Rank: Member

      you can deploy the script via Group Policy as a logon script

      • #52037
        Participant
        Topics: 2
        Replies: 4
        Points: 0
        Rank: Member

        Can you give any samples or url having samples

Viewing 2 reply threads
  • The topic ‘adding printer in remote machine is not working: invalid printer name’ is closed to new replies.