首页 文章

使用PowerShell运行远程脚本

提问于
浏览
1

我搜索了几个站点,试图找出如何在远程计算机上运行PowerShell脚本 . 我一直在使用以下命令: Invoke-Command -Session $s -FilePath "C:\Temp\test.ps1" 然而我收到一个错误,说该文件没有't exist. However I can search the same machine trough powershell and see that in fact it is there. Any suggestions on what I' m缺失?

View of powershell winodw

下面的两个答案都解决了它找不到脚本的问题,但现在看起来它运行脚本,但本地机器上没有任何反应:

enter image description here

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

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

`

当我远程运行test.ps1时,没有什么东西写在excel文件中,但是如果我在本地机器上启动它就可以正常运行 . 我试过从powershell调用ps1脚本和vbs脚本 .

3 回答

  • 0

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

  • 0

    脚本文件 "C:\Temp\test.ps1" 你想它是在远程机器上吗?如果是,那么试着给 "\\machineName\C$\temp\test.ps1"

  • 0

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

相关问题