cloud/david/testingaz.ps1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 |
$Global:AzContext = Get-AzContext if (!($Global:AzContext)) { $null = Connect-AzAccount -Device -AuthScope Storage -ErrorAction Ignore $Global:AzContext = Get-AzContext } if ($Global:AzContext) { Write-Host -ForegroundColor Green 'Connected to Azure' Write-Host -ForegroundColor DarkGray "=========================================================================" Write-Host -ForegroundColor Cyan 'Azure Context ($Global:AzContext)' $Global:AzContext | Format-list $Global:AzAccount = $Global:AzContext.Account $Global:AzEnvironment = $Global:AzContext.Environment $Global:AzSubscription = $Global:AzContext.Subscription $Global:AzTenantId = $Global:AzContext.Tenant #================================================= # AAD Graph #================================================= Write-Host -ForegroundColor DarkGray "=========================================================================" Write-Host -ForegroundColor Cyan '$Global:AccessTokenAadGraph' $Global:AccessTokenAadGraph = Get-AzAccessToken -ResourceTypeName AadGraph $Global:AccessTokenAadGraph Write-Host -ForegroundColor DarkGray "=========================================================================" Write-Host -ForegroundColor Cyan '$Global:HeadersAadGraph' $Global:HeadersAadGraph = @{ 'Authorization' = 'Bearer ' + $Global:AccessTokenAadGraph.Token 'Content-Type' = 'application/json' 'ExpiresOn' = $Global:AccessTokenAadGraph.ExpiresOn } $Global:HeadersAadGraph #================================================= # Azure KeyVault #================================================= Write-Host -ForegroundColor DarkGray "=========================================================================" Write-Host -ForegroundColor Cyan '$Global:AccessTokenKeyVault' $Global:AccessTokenKeyVault = Get-AzAccessToken -ResourceTypeName KeyVault $Global:AccessTokenKeyVault Write-Host -ForegroundColor DarkGray "=========================================================================" Write-Host -ForegroundColor Cyan '$Global:HeadersKeyVault' $Global:HeadersKeyVault = @{ 'Authorization' = 'Bearer ' + $Global:AccessTokenKeyVault.Token 'Content-Type' = 'application/json' 'ExpiresOn' = $Global:AccessTokenKeyVault.ExpiresOn } $Global:HeadersKeyVault #================================================= # Azure MSGraph #================================================= Write-Host -ForegroundColor DarkGray "=========================================================================" Write-Host -ForegroundColor Cyan '$Global:AccessTokenMSGraph' $Global:AccessTokenMSGraph = Get-AzAccessToken -ResourceTypeName MSGraph $Global:AccessTokenMSGraph Write-Host -ForegroundColor DarkGray "=========================================================================" Write-Host -ForegroundColor Cyan '$Global:HeadersMSGraph' $Global:HeadersMSGraph = @{ 'Authorization' = 'Bearer ' + $Global:AccessTokenMSGraph.Token 'Content-Type' = 'application/json' 'ExpiresOn' = $Global:HeadersMSGraph.ExpiresOn } $Global:HeadersMSGraph #================================================= # Azure Storage #================================================= Write-Host -ForegroundColor DarkGray "=========================================================================" Write-Host -ForegroundColor Cyan '$Global:AccessTokenStorage' $Global:AccessTokenStorage = Get-AzAccessToken -ResourceTypeName Storage $Global:AccessTokenStorage Write-Host -ForegroundColor DarkGray "=========================================================================" Write-Host -ForegroundColor Cyan '$Global:HeadersStorage' $Global:HeadersStorage = @{ 'Authorization' = 'Bearer ' + $Global:AccessTokenStorage.Token 'Content-Type' = 'application/json' 'ExpiresOn' = $Global:HeadersStorage.ExpiresOn } $Global:HeadersStorage #================================================= # AzureAD #================================================= #Write-Verbose -Verbose 'Azure Access Tokens have been saved to $Global:AccessToken*' #Write-Verbose -Verbose 'Azure Auth Headers have been saved to $Global:Headers*' #$Global:MgGraph = Connect-MgGraph -AccessToken $Global:AccessTokenMSGraph.Token -Scopes DeviceManagementConfiguration.Read.All,DeviceManagementServiceConfig.Read.All,DeviceManagementServiceConfiguration.Read.All $Global:AzureAD = Connect-AzureAD -AadAccessToken $Global:AccessTokenAadGraph.Token -AccountId $Global:AzContext.Account.Id $Global:AzStorageContext = @{} $Global:BlobImages = @() $Global:OSDCloudStorageAccounts = Get-AzResource -ResourceType 'Microsoft.Storage/storageAccounts' | Where-Object {$_.Tags.Keys -contains 'osdcloud'} Break foreach ($Item in $Global:OSDCloudStorageAccounts) { $Global:LastStorageContext = New-AzStorageContext -StorageAccountName $Item.ResourceName $Global:AzStorageContext."$($Item.ResourceName)" = $Global:LastStorageContext #Get-AzStorageBlobByTag -TagFilterSqlExpression ""osdcloudimage""=""win10ltsc"" -Context $StorageContext #Get-AzStorageBlobByTag -Context $Global:LastStorageContext "&where=Status = 'In Progress'" } } |