足够的管理 - 命令返回 'Priviledge not held.'

Just Enough Administration - Command returning 'Priviledge not held.'

我已经注册了一个 PowerShell 配置以供使用,但 运行 遇到了一些困难。我们的愿望是实现一个配置,允许服务帐户远程进入服务器并重新启动它,而不允许它执行任何其他操作,自然地,JEA 似乎是最合适的。我用以下内容注册了配置:

#Create Role Capability file
$ServerRestartRole2012 = @{
    Path    = "$env:ProgramFiles\WindowsPowerShell\Modules\JEAServerRestart\RoleCapabilities\ServerRestarter.psrc"
    Author  = "xx"
    Company = "xx"
    VisibleCmdlets = 'Restart-Computer'
    ModulesToImport = 'Microsoft.PowerShell.Management'
}
New-PSRoleCapabilityFile @ServerRestartRole2012

#Create JEA Config
$ServerRestartConfig2012 = @{
    Path                = "$env:ProgramData\JEA\JEAServerRestart.pssc"
    Author              = "xx"
    Description         = "Allows for service account to reboot servers for Server Management Application"
    SessionType         = "RestrictedRemoteServer"
    TranscriptDirectory = "$env:windir\Logs"
    RunAsVirtualAccount = $true
    RoleDefinitions     = @{'xx\D7_APP_ServerRestart' = @{ RoleCapabilities = 'ServerRestarter'}}
}
New-PSSessionConfigurationFile @ServerRestartConfig2012

Register-PSSessionConfiguration -Name ServerRestarters -Path "$env:ProgramData\JEA\JEAServerRestart.pssc"
Restart-Service -Name WinRM

注册成功,我可以使用'D7_APP_ServerRestart'组中包含的账号进入会话。使用 Get-Command 会产生我所期望的结果,但是当 运行 Restart-Computer 时返回的消息解释 Privilege not held 我是否遗漏了部分设置过程?

注册EndPoint的服务器是2012R2

resulting output

事实证明,经过一番尝试后我找到了解决办法。为 restart-computer cmdlet 指定不同的协议以允许它重新启动远程服务器。

restart-computer -force 失败 Permission not held

restart-computer -protocol WSMan -force 已成功执行远程重启

我确定这是有正当理由的,我只是没能找到支持它的文档。

希望这将防止新的 JEA 用户将来头疼。