gpt4 book ai didi

Powershell 脚本无法在 Windows 2008 上作为计划任务正确运行

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

我有这个脚本,它连接到一堆服务器并获取服务状态、来自应用程序和系统日志的错误以及磁盘空间。它在 Windows XP 上作为计划任务运行良好,但在 Windows 2008 上存在一些奇怪的问题。我正在使用一个函数从一个单独的文件中导入凭据,它们以加密形式存储在该文件中:

function Import-credential($path) {
$cred = Import-Clixml $path
$cred.password = $cred.Password | ConvertTo-SecureString
New-Object system.Management.Automation.PSCredential(
$cred.username, $cred.password)
}

当我手动运行它并且当它在 Windows XP 上作为计划任务运行但在 Windows 2008 上失败并出现以下错误时,这工作正常:
New-Object : Exception calling ".ctor" with "2" argument(s): "Cannot process ar
gument because the value of argument "password" is null. Change the value of ar
gument "password" to a non-null value."
At F:\Tools\MCHS Server Report\monitor.ps1:9 char:15
+ New-Object <<<< system.Management.Automation.PSCredential(
+ CategoryInfo : InvalidOperation: (:) [New-Object], MethodInvoca
tionException
+ FullyQualifiedErrorId : ConstructorInvokedThrowException,Microsoft.Power
Shell.Commands.NewObjectCommand

这是第 9 行:
New-Object system.Management.Automation.PSCredential(

在任务计划程序中,我在 Program/Script 中拥有 powershell.exe 的完整路径,在 Add Arguments 中拥有 -command 和“F:\Tools\MCHS Server Report\monitor.ps1”。

有任何想法吗?

编辑:我尝试将它运行的帐户更改为我自己的帐户(我使用的是专门为计划任务创建的本地帐户)并且它工作正常。考虑到我们都是管理员并且似乎具有相同的权限,我对为什么它不能与其他用户一起使用的想法为 0...

最佳答案

默认情况下,ConvertTo-SecureString/ConvertFrom-SecureString 使用绑定(bind)到最初加密字符串的用户和计算机的加密 key 。如果您以服务帐户登录并保存凭据,它应该能够在它作为服务运行时对其进行解密。

关于Powershell 脚本无法在 Windows 2008 上作为计划任务正确运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16606057/

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