azure - 是否有任何 PowerShell 命令可以获取已分配或未分配 JIT(即时)的所有 Azure VM 的详细信息?

标签 azure powershell virtual-machine jit

我正在按 JIT(准时制)工作。应在所有 Azure 虚拟机中启用它。 为此,我正在检索详细信息以查看启用或禁用了多少虚拟机的 JIT。

是否有任何脚本或命令可以通过 PowerShell 获取这些详细信息(在 Excel 中提供详细信息)?

最佳答案

命令应该是Get-AzJitNetworkAccessPolicy

# Sample from microsoft docs
Get-AzJitNetworkAccessPolicy 

Id                : /subscriptions/487bb485-b5b0-471e-9c0d-10717612f869/resourceGroups/myService1/providers/Microsoft.Security/locations/centralus/jitNetworkAccessPolicies/default
Name              : default
Kind              : Basic
VirtualMachines   : {/subscriptions/487bb485-b5b0-471e-9c0d-10717612f869/resourceGroups/myService1/providers/Microsoft.Compute/virtualMachines/testService}
Requests          : {Microsoft.Azure.Commands.Security.Models.JitNetworkAccessPolicies.PSSecurityJitNetworkAccessPolicyRequest}
ProvisioningState : Succeeded

它是 Az.Security 模块的一部分。

该命令将向您显示所有即时策略和分配的计算机(VirtualMachines 属性) 与 Get-AzVM 一起,您可以创建尚未启用 JIT 的列表。

像这样的事情应该可以解决问题:

Import-Module Az.Compute
Import-Module Az.Security
Connect-AzAccount -SubscriptionId "<Id>"

$AzJITPolicies = Get-AzJitNetworkAccessPolicy 
$AzVMs = Get-AzVM
$ResultSet = @("VmName;JITEnabled")

foreach($AzVM in $AzVMS) {
    # You probably need to filter the rules even further here.
    $PolicyExists = $AzJITPolicies | Where-Object { $_.VirtualMachines | Where-Object { $_.Id -eq $AzVm.Id }}
    $JITEnabled = $false
    if($PolicyExists) {
        $JITEnabled = $true
    }

    $ResultSet += ($AzVM.Name + ";" + $JITEnabled)

}

# export as csv => import in excel
$ResultSet -join "`r`n" | Out-File "c:\result.csv"

关于azure - 是否有任何 PowerShell 命令可以获取已分配或未分配 JIT(即时)的所有 Azure VM 的详细信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72854234/

相关文章:

azure - Strimzi 无法调整 PV 大小

powershell - 使用 AzureHDInsightCluster 引发错误

powershell - 使用 powershell 启用 iis 日志记录

计算程序在虚拟机中的运行时间

powershell - 远程 PowerShell 到 AzureRM 虚拟机

Azure 数据工厂 V2 : Copy OR Stored Procedure activity for SQL merge

c# - 从 asp.net core 身份验证 Web 应用程序获取 Microsoft Graph 的访问 token

python - 如何将 Azure 备份报告“持续时间”列转换为带小数的日期时间

powershell - PowerShell 短语 "| ? {...}"是什么意思?

docker - Kubernetes集群上的Apache pulsar(本地环境)