【发布时间】:2011-11-23 17:27:56
【问题描述】:
我在目标服务器上以非管理员身份远程执行脚本时遇到问题。
这是我尝试运行的脚本的一部分:
New-PSSession -computername ServerA.DomainA.org -Credential $LoginCredentials
$PSServerA = Get-PSSession -computername bl ServerA.DomainA.org
Invoke-Command -Session $PSServerA -scriptblock {Add-PSSnapin Quest.ActiveRoles.ADManagement}
我收到以下错误:
加载扩展类型数据文件时出现以下错误:Quest.ActiveRoles.ADManagement, C:\Program Files\Quest Software\Management Shell for AD\Quest.ActiveRoles.ADManagement.Types.ps1xml:文件跳过,因为以下验证异常:AuthorizationManager 检查失败..
这是我正在编写的帐户创建脚本的一小部分。我希望帮助台能够执行脚本,尽管他们是服务器操作员组的成员,但他们不是目标服务器上管理员组的成员。我可以以他们的身份登录到目标服务器,并从标准(非管理员)PowerShell 提示符成功运行 Add-PSSnapin 命令。
目标服务器上的 ExecutionPolicy 是 Unrestricted。
我已授予用户对默认 microsoft.Powershell 远程会话配置的执行权限,这是成功的,因为他们可以打开会话。
所以我的问题是我需要为用户分配什么权限才能让他们远程执行命令?
【问题讨论】:
-
您可以运行
Invoke-Command -Session $PSServerA -scriptblock {get-executionpolicy}来获取$PSServer 会话的有效执行策略吗?
标签: powershell remoting