2016-04-25 70 views
2

我試圖在使用PowerShell的Azure AD應用程序中添加密鑰。不幸的是,我首先嚐試使用Azure CLI,但經過一些研究和一些計算器的回答後,我發現,這是無法完成的。通過Powershell添加密鑰的Azure AD應用程序

我試圖通過自動化PowerShell與下面的鏈接任務:http://blog.davidebbo.com/2014/12/azure-service-principal.html

我還執行以下步驟: https://blogs.technet.microsoft.com/kv/2015/06/02/azure-key-vault-step-by-step/

有什麼方法來創建/檢索下面的東西Powershell:

VaultUrl, AuthClientId, AuthClientSecret。

回答

0

下面將從現有的AD應用程序檢索客戶端ID:

$ADApp = Get-AzureRmADApplication -DisplayName "AzureADApplicationName" 
write-host $ADApp.ApplicationId 

下面將檢索庫的URI:

$KeyVault= Get-AzureRmKeyVault -VaultName "VaultName" 
write-host $KeyVault.VaultUri 

我也在尋找選項,從PowerShell中添加關鍵。當我手動添加密鑰時,顯示消息顯示「複製並存儲密鑰值,離開此頁面後將無法恢復密鑰值」。但仍試圖找出使用PowerShell檢索密鑰(ClientSecret)的選項。

+0

我有同樣的問題,你有沒有想過這個呢? –

+0

沒有。還沒有找到一種方法來從腳本中檢索它。現在我正在手動做。 – Magg

1

這是可以做到用兩種方法新AzureRmADApplication(包括它,當你創建應用程序),但顯然不能與集-AzureRmADApplication(即創建應用程序後設置;我不確定是否有通過PowerShell的方法)。但是,僅僅從瞭解方法來確定這一點並不清楚。這個網站讓我回答:https://sabin.io/blog/adding-an-azure-active-directory-application-and-key-using-powershell/

要點是您必須提供這些方法引用的PasswordCredentials,儘管Azure門戶似乎將其稱爲密鑰,而某些PowerShell命令(如SqlAzureAuthenticationContext)將您設置爲Secret的值(所有這些都是令人困惑的詞彙)。以下是我如何使用憑證創建的:

# Be sure to note $KeyValue! It can't be retrieved. 
# It's the "Secret" you can pass to methods like Add-SqlAzureAuthenticationContext in order to authenticate. 
$KeyValue = [guid]::NewGuid() 
Write-Output "The password you've set is $KeyValue" 

$psadCredential = New-Object Microsoft.Azure.Commands.Resources.Models.ActiveDirectory.PSADPasswordCredential 
$startDate = Get-Date 
$psadCredential.StartDate = $startDate 
$psadCredential.EndDate = $startDate.AddYears(1) 
$psadCredential.KeyId = [guid]::NewGuid() 
$psadCredential.Password = $KeyValue 

$adApplication = New-AzureRmADApplication –DisplayName 「MyNewApp」` 
-HomePage "http://MyNewApp"` 
-IdentifierUris "http://MyNewApp"` 
-PasswordCredentials $psadCredential 
+0

使用最新版本的AzureRM,** PSADPasswordCredentials **對象已移至** Microsoft.Azure.Graph.RBAC.Version1_6.ActiveDirectory.PSADPasswordCredential ** – codeConcussion

相關問題