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 |
---|---|
Hiermee haalt u de waarde van een bestaande variabele op. |
|
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
Selecteer de werkruimte Automation.
Klik aan de bovenkant van het venster op Activa.
Klik aan de onderkant van het venster op Instelling toevoegen.
Klik op Variabele toevoegen.
Selecteer een gegevenstype in de vervolgkeuzelijst Type.
Typ een naam voor de variabele in het vak Naam.
Klik op de pijl-rechts.
Typ een waarde voor de variabele en geef op of deze moet worden versleuteld.
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)