使用PowerShell运行远程脚本

使用PowerShell运行远程脚本,powershell,Powershell,我搜索了几个站点,试图找出如何在远程机器上运行PowerShell脚本。我一直在使用以下命令:Invoke命令-Session$s-FilePath“C:\Temp\test.ps1”,但是我得到一个错误,说该文件不存在。然而,我可以通过powershell搜索同一台机器,并看到它实际上就在那里。对我遗漏的东西有什么建议吗 下面的两个答案都修复了它找不到脚本的问题,但是现在它看起来像是在运行脚本,但在本地计算机上什么也没有发生: test.ps1脚本具有以下代码: cscript C:\Te

我搜索了几个站点,试图找出如何在远程机器上运行PowerShell脚本。我一直在使用以下命令:
Invoke命令-Session$s-FilePath“C:\Temp\test.ps1”
,但是我得到一个错误,说该文件不存在。然而,我可以通过powershell搜索同一台机器,并看到它实际上就在那里。对我遗漏的东西有什么建议吗

下面的两个答案都修复了它找不到脚本的问题,但是现在它看起来像是在运行脚本,但在本地计算机上什么也没有发生:

test.ps1脚本具有以下代码:
cscript C:\Temp\queryTest.vbs

queryTest.vbs文件包含以下代码: `

`


当我远程运行test.ps1时,excel文件中没有写入任何内容,但是如果我在本地计算机上启动它,它会正常运行。我尝试从powershell调用ps1脚本和vbs脚本。

Invoke命令的
-FilePath
参数查看的是本地文件系统,而不是远程服务器上的文件系统。它旨在通过读取本地脚本文件,序列化其内容,然后在远程主机上反序列化和执行这些命令,远程运行复杂命令。您可以将
-FilePath
参数更改为
-Scriptblock{&“C:\Temp\Test.ps1”}
,或者,如果您将脚本复制到自己的本地C:\Temp目录,它将按您的意愿运行。

Invoke命令的
-FilePath
参数正在查看本地文件系统,而不是远程服务器上的文件系统。它旨在通过读取本地脚本文件,序列化其内容,然后在远程主机上反序列化和执行这些命令,远程运行复杂命令。您可以将
-FilePath
参数更改为
-Scriptblock{&“C:\Temp\Test.ps1”}
,或者,如果您将脚本复制到自己的本地C:\Temp目录,它将按您的意愿运行。

脚本文件
“C:\Temp\Test.ps1”
您是否假设它在远程计算机上? 如果是,则尝试给出脚本文件
“\\machineName\C$\temp\test.ps1”

脚本文件
“C:\temp\test.ps1”
是否假定它在远程计算机上?
如果是,请尝试给出
“\\machineName\C$\temp\test.ps1”

我发现我遇到的问题是我的一个脚本中的问题。为我正在观察的问题打开一个新问题。

我发现我遇到的问题是我的一个脚本中的问题。为我正在观察的问题提出一个新问题

sysdate = "1/1/2015"
Dim e
Dim wb
Dim sheet
Set e = CreateObject("EXCEL.APPLICATION")
e.Workbooks.Open("C:\temp\testbook.xlsx")
Set wb = e.ActiveWorkbook
Set Sheet = wb.Sheets("Sheet1")
sheet.Cells(1,1).Value = sysdate
set sheet = nothing
wb.Save
wb.close
Set wb=nothing
e.Quit
Set e = Nothing