Az Powershell

El módulo Az de PowerShell es un conjunto de cmdlets para administrar los recursos de Azure directamente desde PowerShell.

Instalación

Az PowerShell

Install-Module Az

Conexión

Una vez se hayan obtenido credenciales válidas, se podría utilizar la herramienta de Az PowerShell para conectarse al tenant y enumerar Azure AD y recursos (Azure Resources).

Connect-AzAccount
Account                      SubscriptionName TenantId                             Environment
-------                      ---------------- --------                             -----------
xtormin@xtormincorp.com                       10081781-e4e1-4302-bf67-43fae511bbe4 AzureCloud

Línea de comandos con credenciales

$passwd = ConvertTo-SecureString "<password>" -AsPlainText -Force
$creds = New-Object System.Management.Automation.PSCredential("<email>", $passwd)
Connect-AzAccount -Credential $creds

Línea de comandos con secreto de servicio principal

$passwd = ConvertTo-SecureString "<secret>" -AsPlainText -Force
$creds = New-Object System.Management.Automation.PSCredential("<App ID>", $passwd)
Connect-AzAccount -ServicePrincipal -Credential $creds -Tenant <Tenant ID>

Conexión con token

$AccessToken = '<token JWT>'
$AccountId = '063aaf57-30af-41f1-840a-0e51ed144916' # TenantID
Connect-AzAccount -AccessToken $AccessToken -AccountId $AccountId

Token

ARM Token

(Get-AzAccessToken).Token

Graph Token

(Get-AzAccessToken -ResourceUrl https://graph.microsoft.com).Token

Comandos

  • Comandos de AzureAD:

Get-Command *azad*
  • Comandos de Azure Resources:

Get-Command *az*
  • Buscar comandos de un recurso en particular:

Get-Command *azvm*
Get-Command -Noun *vm* -Verb Get
Get-Command *vm*

Información general

  • Obtener información del contexto (tenant, cuenta, ...):

Get-AzContext
  • Obtener subscripciones accesibles por el usuario actual:

Get-AzSubscription
  • Obtener los recursos visibles por el usuario actual:

Get-AzResource
Get-AzResourceGroup
  • Obtener todos los Azure RBAC roles asignados:

Get-AzRoleAssignment
  • Obtener todas las máquinas virtuales donde el usuario actual tiene al menos el rol de lectura:

Get-AzVM | fl

Usuarios

  • Obtener todos los usuarios:

Get-AzADUser
  • Obtener información de un usuario:

Get-AzADUser -UserPrincipalName
  • Buscar un usuario que comience por una cadena específica:

Get-AzADUser -SearchString "admin"
  • Obtener los usuarios que contengan una cadena específica:

Get-AzADUser |?{$_.Displayname -match "admin"}

Grupos

  • Obtener todos los grupos:

Get-AzADGroup
  • Obtener detalles de un grupo en concreto:

Get-AzADGroup -ObjectId ff7d0475-364b-4ad6-8f7d-7e8f831e93ce
  • Obtener detalles de los grupos que empiecen por una cadena en concreto:

Get-AzADGroup -SearchString "admin" | fl *
  • Obtener detalles de los grupos que contengan una cadena en concreto:

Get-AzADGroup |?{$_.Displayname -match "admin"}
  • Obtener miembros de un grupo:

Get-AzADGroupMember -ObjectId 9197ad11-c384-4289-bb2a-45d03cfb6d05

Aplicaciones

  • Obtener todos los objetos de aplicaciones registradas en el Tenant:

Get-AzADApplication
  • Obtener todos los detalles de una aplicación:

Get-AzADApplication -ObjectId fe5e6dcb-1c46-2abe-b964-9af5ba322494
  • Obtener una aplicación según su Display Name:

Get-AzADApplication | ?{$_.DisplayName -match "app"}
  • Obtener todas las aplicaciones que tienen contraseña:

Get-AzADApplication | %{if(Get-AzADAppCredential -ObjectID $_.ObjectID){$_}}
  • Obtener aplicaciones web visibles:

Get-AzWebApp | ?{$_.Kind -notmatch "functionapp"}

Service Principals

  • Obtener todos los Service Principals:

Get-AzADServicePrincipal
  • Obtener todos los detalles de un Service Principal:

Get-AzADServicePrincipal -ObjectId fe5e6dcb-1c46-2abe-b964-9af5ba322494
  • Obtener los Service Principal según su Display Name:

Get-AzADServicePrincipal | ?{$_.DisplayName -match "app"}

Roles

  • Obtener roles asignados:

Get-AzRoleAssignment

Automation Accounts

  • Obtener grupo del Automation Accounts:

Get-AzAutomationHybridWorkerGroup -AutomationAccountName HybridAutomation -ResourceGroupName Test

Última actualización

¿Te fue útil?