这个问题是由一位同事在 SO 上提出的这里,虽然有人建议我们在这里提问——对于交叉发布,我们深表歉意。
服务器是 Windows Server 2008 R2 - 服务器上的 UAC 被禁用(暂时仅用于本次测试) - 用户位于域管理员组中,并且是本地和远程计算机上的本地管理员。
当通过 RDP 连接到框时,以下脚本可以正常工作:
import-module servermanager
add-windowsfeature nlb
import-module networkloadbalancingclusters
$nodes = get-nlbclusternode
此时,$nodes
其中有内容,我可以处理它。
所以,一切都很好,直到我远程尝试这个。
enter-pssession -computername MY_SERVER
然后运行上述命令得到:
get-nlbclusternode : Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
At line:1 char:10
+ $nodes = get-nlbclusternode
+ ~~~~~~~~~~~~~~~~~~
+ CategoryInfo : PermissionDenied: (Microsoft.Netwo...tNlbClusterNode:GetNlbClusterNode) [Get-NlbClusterN
ode], UnauthorizedAccessException
+ FullyQualifiedErrorId : AccessDenied,Microsoft.NetworkLoadBalancingClusters.PowerShell.GetNlbClusterNode
尽管我们确认已禁用 UAC(当我们开始超出开发环境时我们不希望发生这种情况)并且处于本地管理员/域管理员状态,但我们在网络上任何地方找到的所有文档似乎都表明 UAC 和本地管理员都是问题所在。
我们尝试在服务器上使用 Powershell 3 和 4,但无济于事。
非常感谢您的帮助。
答案1
可能是双跳问题。您可以尝试使用 CredSSP 建立远程会话以进行测试吗?(这可能是一个安全风险,所以我不建议您在测试后保持启用状态 - 这取决于您自己决定)
如何将 CredSSP 与 PowerShell 远程处理结合使用: http://blogs.technet.com/b/heyscriptingguy/archive/2012/11/14/enable-powershell-quot-second-hop-quot-functionity-with-credssp.aspx