PowerShell 远程访问配置



尝试在服务器上配置远程 PowerShell 访问,但无法避免访问被拒绝错误。

我做了什么:

Register-PSSessionConfiguration 
  -Name EngrStudentAdmin 
  -RunAsCredential domaindelegatedAdmin 
  -StartupScript 'C:ScriptsStudentsWelcome.ps1' 
  -ShowSecurityDescriptorUI

(在一行上 - 显示上方以提高可读性)

使用权限 GUI,我授予了组委派管理员读取和执行权限。 启动脚本只是填充物。

$welcome = 'Welcome to ' + $env:COMPUTERNAME
Write-Host $welcome

尝试使用 连接到终结点

Invoke-Command 
  -ComputerName $server 
  -ConfigurationName EngrStudentAdmin 
  -ScriptBlock { hostname }

失败并显示错误

AuthorizationManager check failed.
+ CategoryInfo          : OpenError: (engr-mgr1.domain.edu:String) [], RemoteException
+ FullyQualifiedErrorId : PSSessionStateBroken
  • 服务器上的执行策略是远程签名,启动脚本已签名。
  • 用于访问服务器的帐户是委派管理员组的成员。
  • 以委派管理员身份打开本地外壳显示该帐户有权运行启动脚本。
  • 使用本地管理员组的成员,调用命令(不带配置名称开关(即连接到默认终结点))执行,以便 winrm 服务正在运行并启用 PSRemoting。
  • 委派管理员帐户没有配置文件。

我错过了什么?

检查 WMI 服务是否已启用并正在运行,如果禁用,请尝试启动它,然后重试。

还要检查实际文件的属性,它可能已被阻止。

两个域都加入了吗?如果没有,您可以采取几个进一步的步骤。一般情况下:在远程系统上尝试此操作:Enable-PSRemoting -Force -Verbose如果您什么也没看到,则它已被应用。如果没有,这将为您进行必要的更改。

以防万一:检查您的防火墙设置:-)

正如Dewi所提到的:检查WMI服务。这是一个启用它的快速技巧(如果你想强制执行它):

# Configure WMI
Set-Item -Path wsman:localhostclienttrustedhosts -Value * -Force -Confirm:$False
# Restart
Restart-Service -Name WinRM -Force

最后但并非最不重要的一点是:使用-verbose开关查看更多详细信息。

喜欢这个:

New-PSSession -ComputerName $ComputerName -Credential $credencial -Verbose

干杯乔希

最新更新