gpt4 book ai didi

powershell - PSSessionStateBroken与计划任务中的start-job -credential

转载 作者:行者123 更新时间:2023-12-02 23:47:30 27 4
gpt4 key购买 nike

下面的行在Powershell提示符下工作正常,但在计划任务中失败。

$pass = gc C:\secrets\shhh.txt | convertTo-secureString
$Cred = new-object -typeName System.management.automation.psCredential -argumentlist "domain\domainUser",$pass

$path = "\\server\share\folder"
$j = start-job {gci -path $args[0]} -cred $Cred -argumentList $path | wait-job | receive-job

$body = $j | out-string
$error | out-file C:\temp\err.txt
send-mailMessage -to me@domain.tld -from server@domain.tld -subject halp -smtpserver mailserver.domain.tld -body $body

Windows 2008R2计划任务在c:\ temp \ err.txt中留下面包屑:
[localhost] The background process exited abnormally.
+ CategoryInfo : OpenError: (localhost:String) [], PSRemotingTransportException
+ FullyQualifiedErrorId : 2101,PSSessionStateBroken

...将我们带到 this Microsoft bug report。该报告提到了localhost环回远程处理的解决方法,这听起来有点脏。我应该去那里吗?

有更好的解决方案吗?也许使用* session cmdlet之一或invoke-command?设置了计划任务的 Start in值,但是也许后台进程以某种不好的方式使用了一些变量,例如 so

还没有运气用 –version 2-command "& {bigKlugeyScriptblock}"语法调用powershell.exe。

编辑:我正在尝试避免创建新的域帐户来运行任务。该任务不能作为 domainUser中的 $cred运行,因为该帐户不应具有对localhost的权限。

最佳答案

作为一些可能的解决方法如何:

  • 在计划任务本身上放置备用凭据
  • 使用runas命令以其他用户
  • 的身份启动powershell.exe
  • 使用net use / user参数来验证对网络路径的访问
    [/USER:[dotted domain name\]username]
    [/USER:[username@dotted domain name]
  • 关于powershell - PSSessionStateBroken与计划任务中的start-job -credential,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15420769/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com