rds-update-certificate/Scripts/New-ServicePrincipal.ps1 (20 lines of code) (raw):
[cmdletbinding()]
param(
[string]$appName = "rds-update-certificate-script",
# has to be a valid format URI; URI's not validated for single-tenant application
[string]$uri = "https://login.microsoft.com/rds-update-certificate-script",
[parameter(mandatory=$true)]
[string]$password,
[string]$vaultName
)
$app = New-AzureRmADApplication -DisplayName $appName -HomePage $uri -IdentifierUris $uri -password $pwd
$sp = New-AzureRmADServicePrincipal -ApplicationId $app.ApplicationId
if ($vaultName)
{
set-azurermkeyvaultaccesspolicy -vaultname $vaultName -serviceprincipalname $sp.ApplicationId -permissionstosecrets get
}
$tenantId = (get-azurermsubscription).TenantId | select -Unique
# outputs
#
"application id: $($app.ApplicationId)"
"tenant id: $tenantId"