足够的管理 - 命令返回 '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 用户将来头疼。
我已经注册了一个 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 用户将来头疼。