Delen via


Variabelen

 

Van toepassing op: Windows Azure Pack for Windows Server, System Center 2012 R2 Orchestrator

Automatisering-variabelen zijn waarden die beschikbaar zijn voor alle runbooks. Ze kunnen worden gemaakt, gewijzigd en opgehaald uit de beheerportal, Windows PowerShell of vanuit een runbook. Automatisering-variabelen zijn handig voor de volgende scenario's:

  • Een waarde tussen meerdere runbooks delen.

  • Een waarde tussen meerdere taken van hetzelfde runbook delen.

  • Een waarde van de beheerportal of vanaf de Windows PowerShell-opdrachtregel beheren, welke waarde wordt gebruikt door runbooks.

Automatisering-variabelen worden behouden zodat ze beschikbaar blijven zelfs als het runbook is mislukt. Hierdoor kan een waarde worden ingesteld door het ene runbook, welke waarde vervolgens wordt gebruikt door een ander runbook of door hetzelfde runbook de volgende keer dat dit wordt uitgevoerd.

Wanneer u een variabele maakt, moet u het gegevenstype opgeven uit de volgende lijst. Op deze manier kan in de beheerportal het juiste besturingselement voor de variabele waarde worden weergegeven. U kunt alleen een waarde van het juiste type aan een variabele toewijzen.

  • Tekenreeks

  • Geheel getal

  • Boolean-waarde

  • Datum/tijd

Wanneer een variabele is gemaakt, kunt u opgeven dat deze versleuteld moet worden opgeslagen. Wanneer een variabele is versleuteld, wordt deze veilig opgeslagen in de SMA-database en kan de waarde ervan niet worden opgehaald uit de cmdlet Get-SmaVariable. Een versleutelde waarde kan alleen worden opgehaald uit de activiteit Get-AutomationVariable in een runbook. U kunt meerdere waarden van het gedefinieerde type in een enkele variabele opslaan door een hashtabel te maken.

Windows PowerShell-cmdlets

De cmdlets in de volgende tabel worden gebruikt voor het maken en beheren van variabelen met Windows PowerShell in Automatisering van servicebeheer.

Cmdlets

Beschrijving

Get-SmaVariable

Hiermee haalt u de waarde van een bestaande variabele op.

Set-SmaVariable

Hiermee maakt u een nieuwe variabele of stelt u de waarde voor een bestaande variabele in.

Runbookactiviteiten

De activiteiten in de volgende tabel worden gebruikt voor toegang tot variabelen in een runbook.

Activiteiten

Beschrijving

Get-AutomationVariable

Hiermee haalt u de waarde van een bestaande variabele op.

Set-AutomationVariable

Hiermee stelt u de waarde voor een bestaande variabele in.

Notitie

Vermijd het gebruik van variabelen in de parameter -Name van Get-AutomationVariable aangezien dit het detecteren van afhankelijkheden tussen runbooks en Automatisering-variabelen kan bemoeilijken.

Een nieuwe Automation-variabele maken

Een nieuwe variabele maken met de beheerportal

  1. Selecteer de werkruimte Automation.

  2. Klik aan de bovenkant van het venster op Activa.

  3. Klik aan de onderkant van het venster op Instelling toevoegen.

  4. Klik op Variabele toevoegen.

  5. Selecteer een gegevenstype in de vervolgkeuzelijst Type.

  6. Typ een naam voor de variabele in het vak Naam.

  7. Klik op de pijl-rechts.

  8. Typ een waarde voor de variabele en geef op of deze moet worden versleuteld.

  9. Klik op het vinkje om de nieuwe variabele op te slaan.

Een nieuwe variabele maken met Windows PowerShell in Service Management Automation

Met de cmdlet Set-SmaVariable maakt u een nieuwe variabele en stelt u ook de waarde in voor een bestaande variabele. De volgende voorbeeldopdrachten laten zien hoe u een variabele van het type tekenreeks maakt.

$web = 'https://MySMAServer'
$port = 9090

Set-SMAVariable –WebServiceEndpoint $web –Port $port –Name 'MyVariable' –Value 'My String'

Een variabele gebruiken in een runbook

Gebruik de activiteit Get-AutomationVariable om een variabele in een runbook te gebruiken.

Een variabele gebruiken in een runbook

  • De volgende voorbeeldcode laat zien hoe u een variabele instelt en ophaalt in een runbook. In dit voorbeeld wordt ervan uitgegaan dat variabelen van het type geheel getal met de naam NumberOfIterations en NumberOfRunnings en een variabele van het type tekenreeks met de naam SampleMessage al zijn gemaakt.

    $NumberOfIterations = Get-AutomationVariable -Name 'NumberOfIterations'
    $NumberOfRunnings = Get-AutomationVariable -Name 'NumberOfRunnings'
    $SampleMessage = Get-AutomationVariable -Name 'SampleMessage'
    Write-Output "Runbook has been run $NumberOfRunnings times."
    for ($i = 1; $i -le $NumberOfIterations; $i++) {
       Write-Output "$i`: $SampleMessage"
    }
    Set-AutomationVariable –Name NumberOfRunnings –Value (NumberOfRunngs += 1)