Jump to content

Azure Subscripton


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

OK, vielen Dank für  den Tipp. Hintergrund ist, ich versuche über die Runbooks ein Start Skript zum wecken der VMs in Azure laufen zu lassen, leider funktioniert es nicht :cry:

Das Skript ist in Azure schon vorgefertigt, ich muss nur einen Account Namen , den Name der VM und warum auch immer die Subscription mitgeben aber bei der Subscription klappt es nicht

 

Es kommt die Meldung

29.05.2015 08:33:28, Error: Select-AzureSubscription : The subscription name Azure Pass doesn't exist.
Parameter name: name
At Start-AllAzureVM:41 char:41
+
    + CategoryInfo          : CloseError: ( [Select-AzureSubscription], ArgumentException
    + FullyQualifiedErrorId : Microsoft.WindowsAzure.Commands.Profile.SelectAzureSubscriptionCommand

 

Link zu diesem Kommentar

Hi,

 

sorry, das habe ich vergessen, so ist es natürlich einfacher

<#
.SYNOPSIS
    Connects to Azure and starts of all VMs in the specified Azure subscription

.DESCRIPTION
   This runbook sample demonstrates how to connect to Azure using organization id credential
   based authentication. Before using this runbook, you must create an Azure Active Directory
   user and allow that user to manage the Azure subscription you want to work against. You must
   also place this user's username / password in an Azure Automation credential asset.
   
   You can find more information on configuring Azure so that Azure Automation can manage your
   Azure subscription(s) here: http://aka.ms/Sspv1l

   After configuring Azure and creating the Azure Automation credential asset, make sure to
   update this runbook to contain your Azure subscription name and credential asset name.

   This runbook can be scheduled to start all VMs at a certain time of day.  When creating schedule assets,
   use every 7 days as the interval to create a scheduled start for each desired work day.  i.e. Every Monday at 7am, 

.NOTES
	Original Author: System Center Automation Team
    Last Updated: 10/02/2014  -   Microsoft Services - Adapted to start all VMs.
                  03/10/2015  -   Microsoft Services - removed unecessary inlinescript and started in parallel
                  03/30/2015  -   Microsoft Services - added 1 minute retry interval for 5 minutes
#>

workflow Start-AllAzureVM
{   
	# Add the credential used to authenticate to Azure. 
	# TODO: Fill in the -Name parameter with the Name of the Automation PSCredential asset
	# that has access to your Azure subscription.  "myPScredName" is your asset name that reflects an OrgID user
    # like "someuser@somewhere.onmicrosoft.com" that has Co-Admin rights to your subscription.
	$Cred = Get-AutomationPSCredential -Name "XXXX@outlook.com"

	# Connect to Azure
	Add-AzureAccount -Credential $Cred

	# Select the Azure subscription you want to work against
	# TODO: Fill in the -SubscriptionName parameter with the name of your Azure subscription

    Select-AzureSubscription -SubscriptionName "Azure Pass"

    # TODO: Set a String Variable in Assets named FirstServer to the name of the server you want to start first.
    $firstServer = Get-AutomationVariable -Name 'managementvm'

	# start your DC or other server first
    $startFirst = Get-AzureVM | where-object -FilterScript{$_.name -eq $firstServer -and $_.status -like 'Stopped*' }
    if($startFirst)
       {
         $startFirst|Start-AzureVM
         sleep 60
       }

     # Get remaining VMs that are stopped and Start everything all at once
     $VMs = Get-AzureVM | where-object -FilterScript{$_.status -like 'Stopped*' } 
    
     foreach -parallel ($vm in $VMs)
       {       
         
        $startRtn = Start-AzureVM -Name $VM.Name -ServiceName $VM.ServiceName -ea SilentlyContinue
        $count=1
        if(($startRtn.OperationStatus) -ne 'Succeeded')
          {
           do{
              Write-Output "Failed to start $($VM.Name). Retrying in 60 seconds..."
              sleep 60
              $startRtn = Start-AzureVM -Name $VM.Name -ServiceName $VM.ServiceName  -ea SilentlyContinue
              $count++
              }
            while(($startRtn.OperationStatus) -ne 'Succeeded' -and $count -lt 5)
         
           }
           
        if($startRtn){Write-Output "Start-AzureVM cmdlet for $($VM.Name) $($startRtn.OperationStatus) on attempt number $count of 5."}
             
  
       }
      
}

Danke für deine Hilfe

Link zu diesem Kommentar
  • 3 Wochen später...

Hier mal mein Runbook was ich verwende, da habe ich den Subscription Name in eine Variable gepackt. Das Runbook funktioniert einwandfrei.

workflow Azure-Stack-VM-Start {
	#Azure Credentials
    $Credential=Get-AutomationPSCredential -Name "Automation"
    # Specify Azure Subscription Name
    $subName = Get-AutomationVariable -Name "Subscription"
    
    # Connect to Azure Subscription
    $null=Add-AzureAccount -Credential $Credential
        
    $null=Select-AzureSubscription -SubscriptionName $subName
    InlineScript{
        # Start Lab VMs
        $VMs = Get-AzureVM|Where-Object {$_.ServiceName -eq "AZSTCPv1-001"}
      
        foreach($VM in $VMs) {
            if ( $VM.InstanceStatus -eq 'StoppedDeallocated' ) {
                
                Start-AzureVM -ServiceName $VM.ServiceName -Name $VM.Name    
                  
            }
        }
    }
}
Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...