在 psexec 中运行时,Get-DHCPv4Lease 权限被拒绝

在 psexec 中运行时,Get-DHCPv4Lease 权限被拒绝

我有一个脚本,它导出计算机列表中的当前控制台用户(大约 1000 个客户端)。当我从我的电脑运行它时,由于在脚本中进一步在每个客户端上启动 psexec,因此大约需要 10 个小时才能完成。为了减少执行时间,我想在大约 50 个 WIndows 2012(非 R2)服务器上运行此脚本的部分内容。当我通过 Powershell ISE、Powershell shell 和 cmd shell 进行测试时,一切都运行正常。但是当我从我的电脑使用提升的命令提示符启动它时,使用 psexec 执行以下命令行

ForEach ( $file in Get-content c:\it\exports_generic\dhcp_scopes.txt ) {Get-DhcpServerv4Lease -ComputerName "srv-frad3.domain.local" -ScopeId  10.10.29.0 | Where{$_.AddressState -eq "Active" -and $_.Hostname -match "GCC|TPT|ATM|DIS"} | Select-Object Hostname | findstr domain.local | Out-File c:\it\exports_generic\10.10.29.0.txt}

我收到以下错误:

Get-DhcpServerv4Lease : Failed to get scope information for scope 10.10.29.0 on DHCP 
server srv-frad3.domain.local.
At C:\it\extrac_generic\script.ps1:10 char:57
+ ForEach ( $file in Get-content $path\dhcp_scopes.txt ) {Get-DhcpServerv4Lease -C ...
+                                                         ~~~~~~~~~~~~~~~~~~~~~~~~

    + CategoryInfo          : PermissionDenied: (10.10.29.0:root/Microsoft/...cpServerv4Lease) 
[Get-DhcpServerv4Lease]
   , CimException
    + FullyQualifiedErrorId : WIN32 5,Get-DhcpServerv4Lease

我使用在 ISE 和 shell 上进行测试时使用的相同凭据运行 psexec,因此我不明白为什么使用 psexec 不起作用(也尝试过 psexec -h,但没有成功)

有人对这个故障排除有什么想法吗?

答案1

感谢回复

最后我在每台服务器上部署了一个新的计划任务,并通过 schtasks 按需启动它。使用这种方式没有问题。

相关内容