由于我不会厌烦你的原因,我陷入了一个非常狭窄的环境中来解决这个问题。根本问题很简单:我需要从BES将远程共享的内容复制到没有当前用户的计算机的本地驱动器。 BES以SYSTEM身份运行,无法访问此共享,因此我必须使用备用凭据(易于提供)访问它。而且我无法作为服务运行,因为在服务获取它的那一刻,BES继续并重新启动该框,然后才能完成复制。
TLDR;需要使用备用凭据执行命令,但它无法正常工作。
我正在尝试Powershell(但我愿意接近任何事情)。这是我的剧本:
$username = "username"
$password = "password"
$credentials = New-Object System.Management.Automation.PSCredential -ArgumentList @($username,(ConvertTo-SecureString -String $password -AsPlainText -Force))
Start-Process testbat.cmd -WorkingDirectory c:\temp\runas -Credential ($credentials)
如果我登录并运行此框,则在任何帐户上运行并使用我提供的凭据。但是,如果我将脚本作为SYSTEM运行(脚本将如何运行),我得到:
Start-Process:由于错误导致无法执行此命令:拒绝访问。 在C:\ temp \ runas \ testrun.ps1:5 char:14
+ Start-Process<<<< testbat.cmd -WorkingDirectory c:\ temp \ runas -Credential( $凭证)
+ CategoryInfo:InvalidOperation :( :) [Start-Process],InvalidOperationException
+ FullyQualifiedErrorId:InvalidOperationException,Microsoft.PowerShell.Commands.StartProcessCommand
同样,我几乎可以接受任何事情,VBS,批量等等。我不能:
任何智慧,指导,或只是简单地告诉我一个愚蠢的错误,我感激不尽。我没有做太多的动力外壳,但我喜欢它有多容易。我已经完成了一些脚本,但这是我的第一个硬盘。
提前致谢。