Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Nu u de NIC-id hebt, voert u az network nic show uit om de gegevens op te halen. U hebt hier geen resourcegroep nodig, omdat de naam van de resourcegroep zich in de Azure-resource-id bevindt.
az network nic show --ids $nicId
Met deze opdracht ziet u alle informatie voor de netwerkinterface van de virtuele machine. Deze gegevens omvatten DNS-instellingen, IP-informatie, beveiligingsinstellingen en het MAC-adres. De volgende query laat zien hoe u de openbare IP-adres- en subnetobject-id's ophaalt.
az network nic show --ids $nicId \
--query '{IP:ipConfigurations[].publicIPAddress.id, Subnet:ipConfigurations[].subnet.id}' \
-o json
{
"IP": [
"/subscriptions/.../resourceGroups/TutorialResources/providers/Microsoft.Network/publicIPAddresses/TutorialVM1PublicIP"
],
"Subnet": [
"/subscriptions/.../resourceGroups/TutorialResources/providers/Microsoft.Network/virtualNetworks/TutorialVM1VNET/subnets/TutorialVM1Subnet"
]
}
Met deze opdracht wordt een JSON-object weergegeven met aangepaste sleutels ('IP' en 'Subnet') voor de geëxtraheerde waarden. Hoewel deze uitvoerstijl mogelijk niet nuttig is voor opdrachtregelprogramma's, helpt dit bij de leesbaarheid van mensen en kan deze worden gebruikt met aangepaste scripts.
Om opdrachtregelhulpmiddelen te gebruiken, wijzigt u de opdracht om de aangepaste JSON-sleutels te verwijderen en als tsv uit te voeren. De read opdracht verwerkt deze uitvoerstijl door resultaten in meerdere variabelen te laden.
Omdat er twee waarden worden weergegeven op afzonderlijke regels, moet het read opdrachtscheidingsteken worden ingesteld op de lege tekenreeks in plaats van de standaardwaarde van niet-nieuwe regelspaties.
read -d '' ipId subnetId <<< $(az network nic show \
--ids $nicId \
--query '[ipConfigurations[].publicIPAddress.id, ipConfigurations[].subnet.id]' \
-o tsv)
Als u de Bash read - of PowerShell-opdracht -split niet wilt gebruiken, kunt u elke variabele afzonderlijk instellen.
$ipId = az network nic show --ids $nicId --query '[ipConfigurations[].publicIPAddress.id]' -o tsv
$subnetId = az network nic show --ids $nicId --query '[ipConfigurations[].subnet.id]' -o tsv
Gebruik de id van het openbare IP-object om het openbare IP-adres op te zoeken en op te slaan in een shellvariabele. De subnet-id is gebruikt om te laten zien hoe u meerdere waarden opvraagt en opslaat in de Azure CLI. Daarom is het niet nodig voor de rest van de zelfstudie.
vmIpAddress=$(az network public-ip show --ids $ipId \
--query ipAddress \
-o tsv)
U hebt nu het IP-adres van de VIRTUELE machine opgeslagen in een shellvariabele. Ga verder en controleer of het dezelfde waarde is die u hebt gebruikt om in eerste instantie verbinding te maken met de virtuele machine.
echo $vmIpAddress