PowerShell脚本未使用任务计划程序从加密文件中提取凭据

PowerShell脚本未使用任务计划程序从加密文件中提取凭据,powershell,Powershell,我正在尝试使用PowerShell以其他用户的身份运行批处理文件。当我在PowerShell ISE中执行脚本时,它工作得非常好。当我将其放入任务计划程序以使其自动化时,会出现以下错误: 错误:无法验证参数“Credential”上的参数。参数为null或为空。请提供一个不为null或空的参数,然后重试该命令。 我无法以任务计划程序中所需的用户身份运行批处理文件,因为存在不允许我保存该帐户密码的本地策略集。这意味着我只能在登录到服务器时触发任务。这是我的解决办法。任务调度器应该执行此脚本,该脚本

我正在尝试使用PowerShell以其他用户的身份运行批处理文件。当我在PowerShell ISE中执行脚本时,它工作得非常好。当我将其放入任务计划程序以使其自动化时,会出现以下错误:

错误:无法验证参数“Credential”上的参数。参数为null或为空。请提供一个不为null或空的参数,然后重试该命令。

我无法以任务计划程序中所需的用户身份运行批处理文件,因为存在不允许我保存该帐户密码的本地策略集。这意味着我只能在登录到服务器时触发任务。这是我的解决办法。任务调度器应该执行此脚本,该脚本在我存储在凭据文件中的服务帐户下运行批处理文件

$path = "E:\Script"
$error_log = "C:\error.log"
$credential = Import-CliXml -Path "$path\cred.xml"

Try
{
    Start-Process -FilePath "$path\File.bat" -Credential $credential
}
Catch
{
    $_ | Add-Content $error_log
}

任务和手动运行是否使用相同的用户帐户?凭据为,因此无法在用户或计算机之间共享。任务无法在执行批处理文件所需的服务帐户下运行。我试过系统和管理员。因此,这是我的解决方法,可以使用正确的用户运行它。问题是有一个本地策略不允许我在任务计划程序中存储密码。好问题。听起来它可能在访问该路径(xml)上的文件时遇到问题,所以当它通过
$credential
var时,它是空的,因为没有写入任何内容。如果您以管理员身份登录ISE,可能会发现这是一个问题。我以管理员身份登录,因此任务计划程序、脚本和凭据文件都可以访问。不过我确实想过。这是有道理的,但不幸的是,这不是问题所在。然后向网络管理员请求保存密码的权限或其他解决方案。不要试图绕过安全设置,这条路迟早会导致问题。