【发布时间】:2018-07-26 09:45:09
【问题描述】:
我有一个连接到服务器列表的 PowerShell 脚本,并查询计划的任务。 (类似于https://community.spiceworks.com/scripts/show_download/2094-get-scheduled-tasks-from-a-computer-remote-or-local)它曾经在Windows 2008R2 服务器上运行良好。但是,在新的 Windows Server 2012 R2 服务器上,出现以下错误。奇怪的是它只在连接到本地机器时发生,远程服务器没有错误。并且在使用管理权限在我的帐户下运行时不会引发任何错误。
这篇文章说
不幸的是,与使用此 COMObject 的 Get-ScheduledTask cmdlet 不同,它需要具有管理凭据的提升的 PowerShell 控制台。
但该脚本过去在 Windows Server 2008 R2 服务器上运行良好。
是否可以进行调整以使脚本在 2012 R2 服务器上运行?
使用“1”参数调用“连接”的异常:“访问被拒绝。(异常 从 HRESULT: 0x80070005 (E_ACCESSDENIED))" 在 C:\scripts\CheckSchedulers\CheckSchedulers.ps1:20 char:10 + ($TaskScheduler = New-Object -ComObject Schedule.Service).Connect($curSe ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~ + CategoryInfo : NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId : ComMethodTargetInvocation错误是由我的代码引发的,使用 spiceworks 的代码,它是可重现的。
【问题讨论】:
-
有关您的代码的帮助:显示 your.code。
-
只用一行就可以观察到错误 ($TaskScheduler = New-Object -ComObject Schedule.Service).Connect($servername) 在 2008r2 服务器上运行正常,而不是在 2012r2 服务器上运行。
标签: powershell scheduled-tasks