Powershell 5.0 Invoke-Command 使用凭据启动服务
Powershell 5.0 Invoke-Command Start Service with Credential
服务器上的服务有问题。因此,我们决定编写一个 PS-脚本,使 "normal" 没有管理员权限的用户可以启动该服务。我已经在这个小脚本上练习了 2 天。我是 PS 的新手(学徒),但我很高兴当我 运行 作为管理员时它可以正常工作。但是为什么不作为用户呢?
我生成了 "Secure" 密码如下:
"P@ssword1" | ConvertTo-SecureString -AsPlainText -Force | ConvertFrom-SecureString | Out-File "C:\Temp\Password.txt"
我将 SecureString 粘贴到我的脚本中,如下所示:
$User = "DOMAIN\USER"
$PwHash = "01000000d08c9ddf0....."
$MyCredential=New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $User, ($PWHash | ConvertTo-SecureString)
Invoke-Command -ComputerName "MyServer" -ScriptBlock {Get-Service -Name "MyService" | Set-Service -Status Running} -Credential ($MyCredential)
失败由 $MyCredential 行弹出:
ConvertTo-SecureString:特定状态中的密钥无效。
我没有看到 ConvertTo...cmd 需要管理员权限。
启用-PS远程处理在特定服务器上处于活动状态。
感谢您的参与
Dirty.Stone
恕我直言,你完全错了。这是您将使用 JEA(Just Enough Admin)执行的任务类型的示例。在目标服务器上创建一个受限的、委托的会话,配置一个启动或重启该服务的函数,并在一个有权限控制该服务的本地帐户下运行,然后授予非管理员用户使用权限那个会话。
服务器上的服务有问题。因此,我们决定编写一个 PS-脚本,使 "normal" 没有管理员权限的用户可以启动该服务。我已经在这个小脚本上练习了 2 天。我是 PS 的新手(学徒),但我很高兴当我 运行 作为管理员时它可以正常工作。但是为什么不作为用户呢?
我生成了 "Secure" 密码如下:
"P@ssword1" | ConvertTo-SecureString -AsPlainText -Force | ConvertFrom-SecureString | Out-File "C:\Temp\Password.txt"
我将 SecureString 粘贴到我的脚本中,如下所示:
$User = "DOMAIN\USER"
$PwHash = "01000000d08c9ddf0....."
$MyCredential=New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $User, ($PWHash | ConvertTo-SecureString)
Invoke-Command -ComputerName "MyServer" -ScriptBlock {Get-Service -Name "MyService" | Set-Service -Status Running} -Credential ($MyCredential)
失败由 $MyCredential 行弹出: ConvertTo-SecureString:特定状态中的密钥无效。
我没有看到 ConvertTo...cmd 需要管理员权限。 启用-PS远程处理在特定服务器上处于活动状态。
感谢您的参与
Dirty.Stone
恕我直言,你完全错了。这是您将使用 JEA(Just Enough Admin)执行的任务类型的示例。在目标服务器上创建一个受限的、委托的会话,配置一个启动或重启该服务的函数,并在一个有权限控制该服务的本地帐户下运行,然后授予非管理员用户使用权限那个会话。