我已经浏览了很多博客来寻找这个问题的解决方案,但从未找到解决方案。
$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
我甚至尝试过PSRemoting
并尝试从远程计算机执行ps1
文件。相同的脚本在本地工作,而不是工作的远程。
Enter-PSSession -ComputerName "testserver.testdomain.com" -Authentication Credssp -Credential Get-Credential
错误:
使用“1”参数调用“AddWindowsPrinterConnection”的异常:“打印机名称无效。(HRESULT异常:0x80070709)”
更新
没有CredSSP工作:
Invoke-Command -ComputerName remotemac.mydomain.com -ScriptBlock {
Get-ChildItem C:\Users\myusername\Desktop
}
使用CredSSP:
Invoke-Command -ComputerName remotemac.mydomain.com -ScriptBlock {
Get-ChildItem \\sharedmac\sharef
} -Authentication Credssp -Credential mydomain\myusername
脚本正在运行,但没有显示网络打印机:
Invoke-Command -ComputerName remotemac.mydomain.com -ScriptBlock {
(New-Object -ComObject WScript.Network).EnumPrinterConnections()
} -Authentication Credssp -Credential mydomain\myusername
脚本提供错误:无效的打印机名称
$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
我完全陷入困境。
我听说我们可以使用组策略,无论如何我们可以使用组策略自动执行此操作吗?