我认为没有办法解决这个问题。
您的管理员应使用全局策略为您公司中所有需要的计算机启用远程处理。
否则,您可以使用 sysinternals psexec 远程运行 powershell:
psexec \\remote-computer powershell -File <....>
psexec \\remote-computer powershell -Command <....>
对于-File 变体工作文件必须在远程服务器上可用或可通过 SMB 共享访问。
请注意,这要求您是远程计算机上的管理员,因为它使用您的 Windows 凭据。否则您可以指定远程用户和密码。
你也可以
psexec \\remote-computer powershell -Command "enable-psremoting -Force"
为了不每次都运行它,您可以通过代理函数将其自动化到 Invoke-Command,方法是向它添加一个参数,例如 EnableRemoting,然后您可以调用它,例如:
Invoke-Command -FilePath C:\path\test.ps1 -ComputerName computername -EnableRemoting
在代理中,您可以将此参数默认设置为 true,在这种情况下您不需要它。除了代理之外,您还可以为此使用函数。
在此之前,如果您首先测试它是否已启用,您将加快速度:
if (!(Test-WsMan \\remote)) { psexec .... enable-psremoting... }
Invoke-Command ...