Windows 计划任务运行缓慢

Windows 计划任务运行缓慢

我有一个脚本,它除了其他功能外,还更新 DNS 中的 CName 记录。它会在多个 DNS 服务器上更新同一条记录,每个站点一个,因为我们等不及要进行复制了。

Get-DnsServerResourceRecord 命令第一次运行时需要超过 5 分钟才能获得结果,但之后每次只需要 12 秒。

有人能想到它为什么这么慢吗?这一切都在同一个网站上,并且没有使用任何慢速链接。脚本如下,以及计时结果。

编辑:忘记提到此脚本使用服务帐户作为计划任务运行。延迟仅在计划任务运行时发生 - 如果我自己运行它,则不会发生这种情况。

Measure-Command 
{
    $NewObj = Get-DnsServerResourceRecord -ComputerName "<domainController>" -Name "mft" -ZoneName "<domainFQDN>" -RRType CName
} 
Measure-Command 
{
    $OldObj = Get-DnsServerResourceRecord -ComputerName "<domainController>" -Name "mft" -ZoneName "<domainFQDN>" -RRType CName
} 
Measure-Command 
{
    $NewObj.RecordData.HostNameAlias = "<newHost>.<domainFQDN>"
    Set-DnsServerResourceRecord -NewInputObject $NewObj -OldInputObject $OldObj -ComputerName "<domainController>" -ZoneName "<domainFQDN>" -PassThru
}

结果:

Days              : 0
Hours             : 0
Minutes           : 5
Seconds           : 7
Milliseconds      : 948
Ticks             : 3079486397
TotalDays         : 0.00356422036689815
TotalHours        : 0.0855412888055555
TotalMinutes      : 5.13247732833333
TotalSeconds      : 307.9486397
TotalMilliseconds : 307948.6397

Days              : 0
Hours             : 0
Minutes           : 0
Seconds           : 12
Milliseconds      : 425
Ticks             : 124256457
TotalDays         : 0.00014381534375
TotalHours        : 0.00345156825
TotalMinutes      : 0.207094095
TotalSeconds      : 12.4256457
TotalMilliseconds : 12425.6457

Days              : 0
Hours             : 0
Minutes           : 0
Seconds           : 13
Milliseconds      : 468
Ticks             : 134686180
TotalDays         : 0.000155886782407407
TotalHours        : 0.00374128277777778
TotalMinutes      : 0.224476966666667
TotalSeconds      : 13.468618
TotalMilliseconds : 13468.618

EDIT2:好的,所以我尝试了 Measure-Command {Import-Module DNSServer},基本上它只是在那里呆了几个小时什么也没做。但我注意到脚本通常运行速度很慢,所以我这样做了:

Measure-Command{
    Start-Sleep -s 1
}

结果:

Days              : 0
Hours             : 0
Minutes           : 0
Seconds           : 2
Milliseconds      : 139
Ticks             : 21393401
TotalDays         : 2.4760880787037E-05
TotalHours        : 0.000594261138888889
TotalMinutes      : 0.0356556683333333
TotalSeconds      : 2.1393401
TotalMilliseconds : 2139.3401

所以也许只是脚本运行缓慢?我尝试导出任务,将优先级提高到 0,结果是一样的。我尝试让它以 SYSTEM 和我的帐户运行,结果是一样的。我甚至尝试创建一个只包含 Measure-Command 和 Start-Sleep 命令的新脚本,但它似乎什么也没做(没有输出)。

您对下一步该做什么有什么想法吗?我还更新了问题的名称,以更好地反映问题。

谢谢您的帮助

答案1

好吧,现在我很困惑。本来打算向微软提出支持案例,并删除了所有 measure-command 命令,它运行得非常好。一点问题都没有。现在感觉很沮丧……

相关内容