背景
我有以下组件:
> Windows Server 2008 R2框
>管理员帐户(我的)
>域上的服务帐户,该帐户的管理员
> Putty的安装(包括用于命令行的plink和作为ssh公钥生成的Pageant)
> SSH会话期间要使用的命令的文本文件
>运行plink的powershell脚本,它使用Start-Process调用plink,命令行告诉它使用Ageant作为PuTTy连接,使用commands.txt作为命令.
>作为我的用户帐户运行的计划任务
目标
最终,要使计划任务作为服务帐户运行,该服务帐户将powershell称为服务帐户,该帐户运行该进程并执行ssh命令.
问题
>当我从powershell命令提示符下运行此脚本作为我的用户帐户时,它会运行.
>当我从计划任务中运行此脚本作为我的用户帐户,具有最高权限,并告诉它保存我的凭据时,它“无法运行”.
>通过“不运行”,这意味着它似乎产生了一个plink.exe的实例,这是我认为问题正在发生的地方(我在控制台上看不到的东西).
问题
>任何人都有一个更优雅的整体解决方案,但使用相同或类似的工具?
>我的powershell脚本应该调用cmd.exe,以便至少可以将stdout捕获到我的日志文件中吗?
剧本
如果有帮助:
#Starts the vcenter2 server. #if the server is already started,it will tell you so. #Stop an error from occurring when a transcript is already stopped $ErrorActionPreference="SilentlyContinue" Stop-Transcript | out-null #Reset the error level before starting the transcript $ErrorActionPreference="Continue" Start-Transcript -path C:\Scripts\logs\StartTheVCenter2Server.log -append #Run plink and reference the commands file to start up the server Start-Process "C:\Program Files (x86)\PuTTY\plink.exe" -Argumentlist "-agent -m C:\Scripts\idrac_powerup_commands.txt root@[servernameredacted]" -wait -RedirectStandardOutput "C:\Scripts\logs\plinklog.log" #Clean-up Stop-Transcript
思考?我可能会使用Invoke-Command来查看我是否可以将输出重定向到我的日志中至少.
谢谢!