2017-04-15 8 views
1

PowerShell을 사용하여 SQL Azure를 Azure Blob 저장소로 가져 가고 싶습니다. 다음 스크립트를 사용했지만 실행을 시도 할 때마다 자격 증명이 나타납니다.SQL Azure 용 Powershell 스크립트 Microsoft Azure Blob

Windows 작업 스케줄러에서이 스크립트를 사용하므로 PowerShell 스크립트에 사용자 ID와 암호를 입력하여 사용자 이름/암호를 묻지 않도록하려면 어떻게해야합니까?

답변

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로, 마이크로 소프트 라이브 계정을 사용하여 하늘빛에 비 intereractively 로그인 할 수 없습니다.

0

아마도 두 가지 방법이 있습니다.

첫 번째는 Login-AzureRMAccount 호출의 일부로 매개 변수를 사용하는 것입니다. PowerShell 코드에서 PSCredential을 만든 다음이를 사용할 수 있습니다. 예를 들면 다음과 같습니다. Login-AzureRmAccount -Credential $credential

두 번째로 안전하고 안전한 방법은 서비스 주체를 만들고 문제의 시스템에 인증서를 배치하는 것입니다. 이를 수행하는 방법에 대한 지침은 here에서 찾을 수 있습니다. 만든 후에 Login-AzureRMAccount-ServicePrincipal 매개 변수와 함께 사용할 수 있습니다. 자세한 내용은 this link을 참조하십시오.