2017-04-15 15 views
1

PowerShellを使用してSQL AzureをAzure Blobストレージに戻したいと考えています。私は次のスクリプトを使用しましたが、実行しようとする度に資格情報がポップアップしています。SQL Azure用PowershellスクリプトMicrosoft Azure Blob

Windowsのタスクスケジューラからこのスクリプトを使用しますので、ユーザーIDとパスワードをPowerShellスクリプトに入れてサブスクリプションのユーザー名とパスワードを要求しないようにするにはどうすればいいですか?

答えて

0

スクリプトに非対話型ログインを実装する必要があります。ただ、以下のようにスクリプトを変更します。

##login Azure 
$subscriptionId = "xxxxxxxxxxxxxxxxxxxxx" 
$username = "<username>" 
$password = "<password>" 
$secstr = New-Object -TypeName System.Security.SecureString 
$password.ToCharArray() | ForEach-Object {$secstr.AppendChar($_)} 
$cred = new-object -typename System.Management.Automation.PSCredential -argumentlist $username, $secstr 
Login-AzureRmAccount -Credential $cred 
Select-AzureRmSubscription -SubscriptionId $subscriptionId 

注:あなたは、このような*@hotmail.com、*@outlook.comとして、マイクロソフトLiveアカウントを使用してAzureのに非intereractivelyログインすることはできません。

0

おそらく2つの方法があります。

最初は、Login-AzureRMAccountコールの一部としてパラメータを使用します。 PowerShellコードでPSCredentialを作成し、それを使用することができます。例:Login-AzureRmAccount -Credential $credential

第2の、おそらくより安全で安全な方法は、サービスプリンシパルを作成し、問題のマシンに証明書を配置することです。あなたはこれを行う方法の指示を見つけることができますhere。作成した後にLogin-AzureRMAccount-ServicePrincipalパラメータとともに使用することができます。詳細については、this linkを参照してください。

関連する問題