Azure リソースと付随する ServicePrincipal の作成を自動化する PowerShell デプロイ スクリプトを作成しています。
私が使用しているコードは次のとおりです。これは、最新の Azure 1.0.4 SDK モジュールを使用して PowerShell から直接実行した場合にテストされ、機能します。
$ResourceGroupName = "my-resource-group"
$ADAppIdentifierUri = [string]::Concat("https://", $ResourceGroupName, ".azurewebsites.net")
# Generate a password for the AD application
$ServicePrincipalPassword = [Guid]::NewGuid().ToString().Replace("-", "")
# Create the Azure AD Application and service principal, and only assign access to our resource group
$AzureADApplication = New-AzureRmADApplication -DisplayName $ResourceGroupName -HomePage $ADAppIdentifierUri -IdentifierUris $ADAppIdentifierUri -Password $ServicePrincipalPassword
Visual Studio で ResourceGroup プロジェクト デプロイ スクリプトを使用してこのコードを実行すると、次のエラーが発生します。
New-AzureRmADApplication : タイプ 'Microsoft.Azure.TokenCloudCredentials' のオブジェクトをタイプ 'Microsoft.Azure.Common.Authentication.AccessTokenCredential' にキャストできません。
スタック トレースによると、コマンド New-AzureRmADApplication の開始時に例外が発生したため、残念ながら Azure SDK コードの内部で例外が発生しています。
次のファイルで SDK のソース コードを参照しましたが、洞察が見つかりませんでした。
このリンクで同じエラーが発生した人を 1 人だけ見つけることができます: https://azure.microsoft.com/en-us/documentation/articles/resource-group-authenticate-service-principal/
ただし、認証に管理証明書を使用しておらず、manage.windowsazure.com サイトにリストされている管理証明書がないため、このソリューションは私には意味がありません。