【问题标题】:Running a PowerShell script remotely远程运行 PowerShell 脚本
【发布时间】:2020-04-06 15:58:49
【问题描述】:

所以我在服务器上有一个脚本,我可以远程使用 Enter-PSSession 并从我的本地环境运行脚本。我做的是... Enter-PSSession hostname cd c:\temp\myscript.ps1

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

这些脚本运行得很好。我遇到的问题是数据应该被发送到数据库。如果我通过 RDP 直接在主机名上运行 .ps1,它就可以工作。如果我 RDP 进入服务器并返回到我使用上面的代码进入 PSSession 的本地环境,它会很好地提交到数据库。但是当我关闭 RDP 会话并尝试在本地再次运行脚本时,它不会进入数据库。

也许我错过了一些愚蠢的东西,但任何帮助将不胜感激。

【问题讨论】:

    标签: powershell powershell-remoting


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-03-14
        • 1970-01-01
        • 2023-03-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-09-30
        • 1970-01-01
        相关资源
        最近更新 更多