远程运行PowerShell脚本

问题描述 投票:1回答:2

因此,我在服务器上安装了一个脚本,可以使用Enter-PSSession远程访问该脚本,并可以从本地环境运行该脚本。我要做的是...Enter-PSSession hostname cd c:\temp\myscript.ps1

$s = New-PSSession -ComputerName hostname
Invoke-Command -Session $s -ScriptBlock {C:\temp\myscript.ps1}

这些运行脚本就好了。我遇到的问题是应该将数据发送到数据库。如果通过直接RDPing在主机名上运行.ps1,它将起作用。如果我将RDP导入服务器并使用上面的代码返回我在本地输入Enter-PSSession的本地环境,它将提交到数据库就好了。但是,当我退出RDP会话并尝试再次在本地运行脚本时,它不会进入数据库。

也许这是我所缺少的愚蠢之举,但是任何帮助将不胜感激。

powershell powershell-remoting
2个回答
0
投票

重要的部分在myscripts.ps1中,因此无法从您提供的内容中说出来。

我建议您检查该脚本文件中存储凭据的位置。当您在本地运行它时,我假设您从该工作目录中运行它。

尝试使用$ psexecscript作为配置文件路径的根。假设凭据位于同一目录或子目录中,那么脚本就是该路径。


0
投票

该脚本是否未提供用户在您的数据库中写入的权限,或者未提供在该数据库中写入的凭据?

如果在验证凭据问题后仍然无法正常工作,则可能需要将脚本注册为任务。您可以将其设置为手动任务。然后,每当需要时,您(远程)运行该任务。这样,您的凭据也将被存储,并且您可以安全地使用“运行方式”功能。

© www.soinside.com 2019 - 2024. All rights reserved.