我有一个在远程服务器上执行自定义可执行文件的 powershell 脚本。如果我首先在服务器上手动执行程序,那么让脚本执行和正常运行没有问题。
这样做的原因是程序动态创建程序集并将它们保存到文件以供以后使用。如果这些文件存在,程序会尝试删除它们并重新创建,或者如果失败则使用现有文件。
我的结论是,在运行脚本时,由于某种原因,程序没有处理文件系统的权限。因为如果我在服务器上手动运行程序,则会创建动态程序集文件,并且脚本的后续执行就像文件已创建一样工作,即它读取之前创建的文件。这些文件在程序执行所在的目录中创建。
如何设置 powershell 脚本以便允许在远程服务器上创建文件?
下面是“几乎”我的脚本
$path = Split-Path -parent $MyInvocation.MyCommand.Definition
$password = ConvertTo-SecureString -String "myPass" -AsPlainText -Force
$credentials = New-Object pscredential("remoteUser", $password)
$servernamn = "myMachine"
Invoke-Command -ComputerName $servernamn -Credential $credentials -ArgumentList $path ScriptBlock { & 'D:\temp\custom.exe' }