Tenho o trecho de código abaixo que estou tentando substituir por vários motivos.
$SubscriptionPIMID = (Get-AzureADMSPrivilegedResource -ProviderId 'AzureResources' -Filter "ExternalId eq '/subscriptions/$subscriptionId'").Id
O acima exige o uso do módulo AzureAdPreview, do qual estou tentando me afastar. Em segundo lugar, ao executar a partir da automação, ele requer que o Connect-AzureAD seja executado, o que está se mostrando difícil de automatizar. Além disso, minha preferência é usar o Graph.
Eu tentei o seguinte.
Connect-MgGraph -Scopes "PrivilegedAccess.Read.AzureResources"
# Set the subscription ID
$subscriptionId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
# Get the PIM resource for that subscription
$pimResource = Get-MgPrivilegedAccessResource `
-ProviderId "AzureResources" `
-Filter "externalId eq '/subscriptions/$subscriptionId'"
# Output the resource ID
$pimResource.Id
Parece que também não funciona, pois recebo o erro
Get-MgPrivilegedAccessResource: The term 'Get-MgPrivilegedAccessResource' is not recognized as a name of a cmdlet, function, script file, or executable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
mesmo depois de instalar o módulo e importar o módulo gráfico.
O erro sugere que está faltando o módulo
Microsoft.Graph.Identity.Governance
que deveria conterGet-MgPrivilegedAccessResource
, no entanto, parece que o comando foi removido em versões mais recentes . Se você compararv1.9.6
com a versão mais recente,v2.26.1
o comando não está mais lá e, ao que parece, foi movido para a versão beta do módulo:Microsoft.Graph.Beta.Identity.Governance
em . A documentação para o ponto de extremidade oficial da API usado por este cmdlet também é difícil de encontrar, sendo o tipo de recursoGet-MgBetaPrivilegedAccessResource
o mais relevante .privilegedAccess