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

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

$CompName = “
$Printer = “\\PRINTER-NAME-1”
Invoke-Command -ComputerName $CompName -Scriptblock {
(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 “” -Authentication Credssp -Credential Get-Credential

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

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

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.

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.

#Working without Credssp
Invoke-Command -ComputerName -ScriptBlock {Get-ChildItem C:\Users\myusername\Desktop}
#Working with CredSSP
Invoke-Command -ComputerName -ScriptBlock {Get-ChildItem \sharedmac\sharef} -Authentication Credssp -Credential mydomain\myusername
#script is working, but not showing network printers
Invoke-Command -ComputerName -ScriptBlock {(New-Object -ComObject WScript.Network).EnumPrinterConnections()} -Authentication Credssp -Credential mydomain\myusername
#Script gives error: Invalid Printer name
$Printer = “\\SDB1-FLOOR1-B2” # i have tried this input in single, double, with and without escape character
Invoke-Command -ComputerName -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.

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

Can you give any samples or url having samples