gpt4 book ai didi

PowerShell 在不同路径上运行远程命令

转载 作者:行者123 更新时间:2023-12-03 00:53:38 24 4
gpt4 key购买 nike

通过执行以下操作,我可以从本地计算机向不同域中的服务器运行远程 powershell 命令:

Invoke-Command -ComputerName serverName -ScriptBlock {Get-Process} -Credential $credential

然而,出于某种原因,它在这个默认目录中运行 - c:\users\username\documents

我的实际情况略有不同。我有一个 powershell 脚本 (Test.ps1) 放在这里:

C:\Data\Shared\Installation

我想远程运行这个脚本。我在 ScriptBlock 中尝试了不同的东西,但它总是会出错。看起来像一个语法问题。例如我试过这个:

调用命令 -ComputerName serverName -ScriptBlock {cd "C:\Data\Shared\Installation"./Test.ps1} -Credential $credential

但这给出了以下错误

A positional parameter cannot be found that accepts argument './Test.ps1'.

只是需要一些帮助。谢谢。

编辑

enter image description here

编辑 2

是的,感谢您的评论(现在已消失)- 在路径有效后放置一个分号。感谢您的帮助。

最佳答案

如果您需要在脚本 block 中运行多个命令,则需要使用换行符或分号 ; 将它们分隔开。尝试:

Invoke-Command -ComputerName serverName -ScriptBlock {cd "C:\Data\Shared\Installation"; ./Test.ps1} -Credential $credential

或者试试这个(如果您的脚本使用相对路径,这不是一个好的解决方案):

Invoke-Command -ComputerName serverName -ScriptBlock {C:\Data\Shared\Installation\Test.ps1} -Credential $credential

关于PowerShell 在不同路径上运行远程命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14761293/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com