ISO https://go.microsoft.com/fwlink/?linkid=2293312&clcid=0x409&culture=en-us&country=us
VHD https://go.microsoft.com/fwlink/?linkid=2293215&clcid=0x409&culture=en-us&country=us
$guestusers = Get-MgUser -Filter "UserType eq 'Guest'" -All -property signinactivity $output = @() ForEach ($guestuser in $guestusers) { $output += New-Object -TypeName PSObject -Prop ([ordered]@{'Mail'=$guestuser.Mail;'LastSignInDateTime'=($guestuser | Select -ExpandProperty SignInActivity).LastSignInDateTime}) } $output
I assume that you have a HUB/Spoke design where there is a route table, that has a default route that points all traffic to the Firewall in the hub.
On the Function App you deploy in a spoke, you need to configure outbound network integration.
It is important to enable: “Outbound internet traffic”
The configuration on the Function App needs the setting: “vnetRouteAllEnabled” = 1
using namespace System.Net # Input bindings are passed in via param block. param($Request, $TriggerMetadata) $body = "<html><body>" # Write to the Azure Functions log stream. Write-Host "PowerShell HTTP trigger function processed a request." # Interact with query parameters or the body of the request. $InputString += $Request.Query.TextString if ($InputString -eq $null) {$InputString = "Default string"} $body += $InputString $body += "<br><p>Version: 11</p>" $body += "</body></html>" $statusCode = $Request.Query.StatusCode if ($statusCode -eq $null) {$statusCode = "OK"} # Associate values to output bindings by calling 'Push-OutputBinding'. Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ StatusCode = [HttpStatusCode]::$statusCode ContentType = "text/html" Body = $body })
When using the PowerShell command New-AzSubscriptionAlias it might fail with errors not saying what the real issue is
Errors like: “InvalidManagementGroupId” and “Subscription creation failed since provided management group id is not valid” could suggest that the ID is wrong.
But the reason can actually be that the account that PowerShell is running in context of, is missing the right: “Management Group Contributor” on the management group.
This will get last month consumption for a subscription including the money spend on marketplace.
$subscriptioname = "CHANGETHIS" $roundDecimals = 2 $lastMonthBilling = (Get-Date).AddMonths(-1).ToString('yyyyMM') # Set context to subscription Set-azcontext -SubscriptionName $subscriptioname # Get billing period $BillingPeriod = Get-AzBillingPeriod -Name $lastMonthBilling $startDate = $BillingPeriod.BillingPeriodStartDate.ToString("dd-MM-yyyy") $endDate = $BillingPeriod.BillingPeriodEndDate.ToString("dd-MM-yyyy") # Collect cost data $currentCost = Get-AzConsumptionUsageDetail -StartDate $startDate -EndDate $endDate $currentCost += Get-AzConsumptionMarketplace -StartDate $startDate -EndDate $endDate # Write output to screen Write-Host "Current Cost of Subscription" (Get-AzContext).Subscription.Name ":" ([math]::Round(($currentCost | Measure-Object -Property PretaxCost -Sum).sum,$roundDecimals))
Windows logo key + R, type shell:startup
Place the program or script in the folder
$topLvlMgmtGrp = "CHANGETHIS" # Name of the top level management group $subscriptions = @() # Output array # Collect data from managementgroups $mgmtGroups = Get-AzManagementGroup -GroupId $topLvlMgmtGrp -Expand -Recurse $children = $true while ($children) { $children = $false $firstrun = $true foreach ($entry in $mgmtGroups) { if ($firstrun) {Clear-Variable mgmtGroups ; $firstrun = $false} if ($entry.Children.length -gt 0) { # Add management group to data that is being looped throught $children = $true $mgmtGroups += $entry.Children } else { # Add subscription to output object $subscriptions += New-Object -TypeName psobject -Property ([ordered]@{'DisplayName'=$entry.DisplayName;'SubscriptionID'=$entry.Name}) } } } $subscriptions