如何允许非管理员ms entra组在azure vm中启动/停止Windows服务

问题描述 投票:0回答:1

我们正在使用授予(用户)组的脚本来管理服务,而无需管理员角色。

活动目录服务器为abc.com,脚本如下:

param(
    [Parameter(Position=0)][string]$ADServer = 'abc.com',
    [Parameter(Mandatory=$true, Position=1)][string]$UGName,
    [Parameter(Mandatory=$true, Position=2)][string]$SvcName
)


 $sid = Get-ADGroup -Server $ADServer -Filter {Name -eq $UGName} | Select SID
 if($sid -eq $null -or $sid.Sid -eq $null -or $sid.Sid.Value -eq $null)
 {
    Write-Output "Cannot get usergroup name $UGName from Server $ADServer."
    break
 }

 $currentPermission =  sc.exe sdshow $SvcName
 
 if($currentPermission -match "FAILED")
 {
    Write-Output "Cannot get permission"
    break
 }
 
 if($currentPermission -match $sid.Sid.Value)
 {
   Write-Output "Permission for $UGName already exists!" 
   break
 }

 $newPermission = "D:(A;;RPWPCR;;;" +$sid.Sid.Value + ")" +$currentPermission[1].Substring(2)

 $granted = sc.exe $TargetServerName sdset $SvcName $newPermission
 if($granted -match "SUCCESS")
 {
   Write-Output "Successfully granted user group $UGName to service $SvcName" 
 }
 else
 {
    Write-Output "Error occurred when granting user group $UGName to service $SvcName, Error: $granted" 
 }

但现在需要允许非管理员 msentra 组。或者通过 yaml 管道实现此目的的任何其他方式。我还想知道它是否应该是一次性配置活动而不是从管道自动化?

powershell azure-active-directory windows-services azure-powershell cicd
1个回答
0
投票

YAML 管道对于这种情况确实是一个不错的选择,因为:

  • 您不需要为用户分配自定义权限或角色
  • 通过自动化流程,您可以让用户的生活变得更轻松

简而言之,这就是您所需要的:

  1. 创建 Azure 资源管理器服务连接
  2. 将正确的 Azure 角色分配给与服务连接关联的服务主体或身份
  3. 使用服务连接,通过 AzurePowerShell@5 任务创建 YAML 管道
© www.soinside.com 2019 - 2024. All rights reserved.