我想改变主机池的负载平衡方法,从广度优先到深度优先,每天晚上19点到11点,以降低AM的成本。
例如:主机池负载平衡方法:呼吸优先,上午11:00 ~下午17:00主机池负载平衡方法:深度优先,下午17:00 PM ~ 11:00 AM
有人知道这件事吗?参考资料:集合-主机
发布于 2019-12-27 07:46:54
您可以使用蔚蓝自动化运行簿来完成此操作,请按照以下步骤执行。
1.导航到蔚蓝门户创建一个自动化帐户,然后创建一个powershell运行簿。
2.导航到自动化帐户-> Modules -> Browse Gallery ->,搜索powershell模块Microsoft.RDInfra.RDPowerShell并导入它,导入后如下所示。

3.当您将Create Azure Run As account设置为Yes创建自动化帐户时,它将在您的Azure租户中创建一个App和一个服务主体,它的名称将类似于automationaccountname_fc2Wgay6EkHrpgrpMSbF1V8uc6LVDkz9tgb8T6YUhaQ=。在蔚蓝运行簿中,您无法使用交互方式登录到Virtual,因此选项是使用服务主体(以帐户身份运行)登录。
在登录之前,您需要创建一个角色分配,以便服务主体可以登录到Virtual,只需遵循这个链接。
Add-RdsAccount -DeploymentUrl "https://rdbroker.wvd.microsoft.com"
Get-RdsTenant
$myTenantName = "<Windows Virtual Desktop Tenant Name>"
New-RdsRoleAssignment -RoleDefinitionName "RDS Owner" -ApplicationId <service-principal-appid> -TenantName $myTenantName要在上面的脚本中找到ApplicationId,请导航到门户网站-> App registrations -> All applications ->中的-> App registrations->All applications->,查找您运行的AD应用程序作为account -> get ApplicationId,如下所示。

4.导航到在步骤1中创建的powershell运行簿,使用下面的脚本,它将主机池设置为使用广度优先负载平衡。
$connectionName = "AzureRunAsConnection"
try
{
# Get the connection "AzureRunAsConnection "
$servicePrincipalConnection=Get-AutomationConnection -Name $connectionName
"Logging in to Windows Virtual Desktop..."
Add-RdsAccount `
-DeploymentUrl "https://rdbroker.wvd.microsoft.com" `
-AadTenantId $servicePrincipalConnection.TenantId `
-ApplicationId $servicePrincipalConnection.ApplicationId `
-CertificateThumbprint $servicePrincipalConnection.CertificateThumbprint
}
catch {
if (!$servicePrincipalConnection)
{
$ErrorMessage = "Connection $connectionName not found."
throw $ErrorMessage
} else{
Write-Error -Message $_.Exception
throw $_.Exception
}
}
Set-RdsHostPool -TenantName "<contoso>" -Name "<contosoHostPool>" -BreadthFirstLoadBalancer然后保存runbook1,并创建另一个runbook2,使用下面的脚本,它将主机池设置为使用深度优先负载平衡。
$connectionName = "AzureRunAsConnection"
try
{
# Get the connection "AzureRunAsConnection "
$servicePrincipalConnection=Get-AutomationConnection -Name $connectionName
"Logging in to Windows Virtual Desktop..."
Add-RdsAccount `
-DeploymentUrl "https://rdbroker.wvd.microsoft.com" `
-AadTenantId $servicePrincipalConnection.TenantId `
-ApplicationId $servicePrincipalConnection.ApplicationId `
-CertificateThumbprint $servicePrincipalConnection.CertificateThumbprint
}
catch {
if (!$servicePrincipalConnection)
{
$ErrorMessage = "Connection $connectionName not found."
throw $ErrorMessage
} else{
Write-Error -Message $_.Exception
throw $_.Exception
}
}
Set-RdsHostPool -TenantName "<contoso>" -Name "<contosoHostPool>" -DepthFirstLoadBalancer -MaxSessionLimit 105.导航到Schedule中的runbook1,有关如何使用它的更多细节,请参见此文档。例如,在您的例子中,只需设置如下所示。然后runbook1每天都会在11:00 AM上跑。在runbook2中,这是相同的逻辑,那么runbook2每天都会在17:00 PM上运行。在配置计划之后,对这两个运行簿进行strat。

https://stackoverflow.com/questions/59495308
复制相似问题