在旧版本的PS上执行Powershell脚本

在旧版本的PS上执行Powershell脚本,powershell,Powershell,我正在使用PowerShell 5.0,我想在另一台运行PowerShell 2.0的服务器上启动脚本 我尝试使用Invoke命令,但它不起作用,你知道有没有在我的电脑上“模拟”脚本的解决方案吗 Invoke-Command -ScriptBlock {Get-printer} -ComputerName server 术语Get Printer不能识别为CmdLet、函数、脚本文件或可操作程序的名称。检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试。在这种情况下,使用参数Com

我正在使用PowerShell 5.0,我想在另一台运行PowerShell 2.0的服务器上启动脚本

我尝试使用
Invoke命令
,但它不起作用,你知道有没有在我的电脑上“模拟”脚本的解决方案吗

Invoke-Command -ScriptBlock {Get-printer} -ComputerName server

术语
Get Printer
不能识别为CmdLet、函数、脚本文件或可操作程序的名称。检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试。

在这种情况下,使用参数
ComputerName
更容易。它将连接到远程机器并自行检索打印机

Get-Printer -ComputerName 'Server'
另一个选项是使用
WMI

Get-WmiObject -ClassName 'Win32_Printer' -ComputerName 'Server'
如果您确实想使用
调用命令

Invoke-Command -ComputerName 'Server' -ScriptBlock {
    Get-WmiObject -ClassName 'Win32_Printer'
}

最后一个选项将在远程计算机上执行代码。它很可能会工作,因为远程计算机上较旧版本的PowerShell中存在CmdLet
Get WmiObject

在这种情况下,使用参数
ComputerName
更容易。它将连接到远程机器并自行检索打印机

Get-Printer -ComputerName 'Server'
另一个选项是使用
WMI

Get-WmiObject -ClassName 'Win32_Printer' -ComputerName 'Server'
如果您确实想使用
调用命令

Invoke-Command -ComputerName 'Server' -ScriptBlock {
    Get-WmiObject -ClassName 'Win32_Printer'
}

最后一个选项将在远程计算机上执行代码。它很可能会起作用,因为远程计算机上较旧版本的PowerShell中存在CmdLet
Get-WmiObject

感谢您的回答,我知道使用-ComputerName的另一种方式, 我想优先使用Invoke命令


我会尝试获取wmiObject

谢谢你的回答,我知道另一种方法是使用-ComputerName, 我想优先使用Invoke命令


我将尝试获取wmiObject

否,
Get Printer
在仍运行powershell v2的任何PC上不作为cmdlet存在。否,
Get Printer
在仍运行powershell v2的任何PC上不作为cmdlet存在。