You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过PowerShell配置DevTestLab子网的VM创建权限及最大VM数

解决DevTestLab子网配置的PowerShell脚本问题

问题原因分析

  1. IpConfigurations返回null:Get-AzVirtualNetworkSubnetConfig获取的是Azure虚拟网络的基础子网定义,并非DevTestLab专属的子网配置,因此不会包含DevTestLab关联的IP配置信息。
  2. MaxVMsPerUser属性不存在:普通子网对象没有DevTestLab特有的属性,该属性仅存在于DevTestLab管理的子网资源中。

解决步骤与代码示例

1. 获取DevTestLab子网资源

使用Get-AzResource直接获取DevTestLab管辖的子网资源,而非虚拟网络的基础子网:

# 替换为你的实际信息
$labName = "你的DevTestLab名称"
$resourceGroupName = "资源组名称"
$vnetName = "关联的虚拟网络名称"
$subnetName = "目标子网名称"

# 构造DevTestLab子网的资源名称路径
$subnetResourceName = "$labName/virtualnetworks/$vnetName/$subnetName"

# 获取DevTestLab子网资源
$labSubnet = Get-AzResource -ResourceType "Microsoft.DevTestLab/labs/virtualnetworks/subnets" `
    -ResourceName $subnetResourceName `
    -ResourceGroupName $resourceGroupName

2. 修改子网权限与虚拟机数量限制

直接修改DevTestLab子网资源的Properties属性,然后更新:

# 启用虚拟机创建权限
$labSubnet.Properties.useInVmCreationPermission = "Allow"
# 设置每个用户的最大虚拟机数量
$labSubnet.Properties.maxVmsPerUser = 252
# 可选:配置公网IP权限(根据需求调整为Allow/Deny)
$labSubnet.Properties.usePublicIpPermission = "Allow"

# 应用配置变更
Set-AzResource -ResourceId $labSubnet.ResourceId -Properties $labSubnet.Properties -Force

3. 验证配置结果

执行以下命令确认属性是否生效:

$updatedSubnet = Get-AzResource -ResourceId $labSubnet.ResourceId
$updatedSubnet.Properties | Select-Object useInVmCreationPermission, maxVmsPerUser

内容的提问来源于stack exchange,提问作者Halcoaching

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 15:10:33