Service Management Automation-runbookcreatie vereenvoudigen met globale assets
Belangrijk
Deze versie van Service Management Automation (SMA) heeft het einde van de ondersteuning bereikt. U wordt aangeraden een upgrade uit te voeren naar SMA 2022.
Globale assets zijn beschikbaar voor alle runbooks in een Automation-omgeving. U kunt ze maken en configureren met de Automation-werkruimte in de beheerportal of met de juiste cmdlets in Windows PowerShell. Vanuit een runbook kunt u waarden ophalen en instellen voor globale assets met activiteiten in de module RunbookConstructs . De Windows PowerShell cmdlets zijn beschikbaar voor gebruik in runbooks in Service Management Automation, maar de activiteiten worden aanbevolen omdat ze efficiënter zijn omdat ze niet via de Automation-webservice hoeven te werken.
Referenties ophalen of instellen
Een Automation-referentie is ofwel een gebruikersnaam en wachtwoord die kunnen worden gebruikt met Windows PowerShell-opdrachten, ofwel een certificaat dat naar de server wordt geüpload. De eigenschappen voor een referentie worden veilig opgeslagen in de Automation-database en zijn toegankelijk in het runbook met de activiteit Get-AutomationPSCredential of Get-AutomationCertificate .
PowerShell voor het beheren van referenties
U kunt de cmdlets in de volgende tabel gebruiken om referenties te maken en te beheren met Windows PowerShell in Service Management Automation.
Cmdlets | Description |
---|---|
Get-SmaCertificate | Hiermee wordt een Automation-certificaat opgehaald. |
Get-SmaCredential | Haalt een Automation PowerShell-referentie op. |
Remove-SmaCertificate | Hiermee verwijdert u een Automation-certificaat. |
Remove-SmaCredential | Hiermee verwijdert u een Automation PowerShell-referentie. |
Set-SmaCertificate | Hiermee creëert u een nieuw certificaat of stelt u de eigenschappen van een bestaand certificaat in, met inbegrip van het uploaden van het certificaatbestand en het instellen van het wachtwoord voor een .pfx-bestand. |
Set-SmaCredential | Hiermee maakt u een nieuwe Automation PowerShell-referentie of stelt u de eigenschappen voor een bestaande referentie in. |
PowerShell voor het werken met referenties
U kunt de activiteiten in de volgende tabel gebruiken om toegang te krijgen tot de referenties in een runbook.
Activiteiten | Description |
---|---|
Get-AutomationCertificate | Hiermee haalt u een certificaat op dat moet worden gebruikt in een runbook. |
Get-AutomationPSCredential | Hiermee haalt u een gebruikersnaam en wachtwoord op voor gebruik in een runbook. |
Notitie
Vermijd het gebruik van variabelen in de 'Naamparameter van Get-AutomationPSCredential en Get-AutomationCertificate , omdat dit het detecteren van afhankelijkheden tussen runbooks en Automation-variabelen kan bemoeilijken.
Een PowerShell-referentie maken in de beheerportal
Selecteer de Automation-werkruimte .
Selecteer Assets boven aan het venster.
Selecteer onder aan het venster De optie Instelling toevoegen.
Selecteer Referentie toevoegen.
Selecteer PowerShell-referentie in de vervolgkeuzelijst Referentietype.
Voer een naam in voor de referentie in het vak Naam .
Selecteer de pijl-rechts.
Voer de waarden voor elke eigenschap in.
Selecteer het vinkje om de referentie op te slaan.
Een certificaat maken in de
Beheerportal
Selecteer de Automation-werkruimte .
Selecteer Assets boven aan het venster.
Selecteer onder aan het venster De optie Instelling toevoegen.
Selecteer Referentie toevoegen.
Selecteer Certificaat in de vervolgkeuzelijst Referentietype.
Voer een naam in voor het certificaat in het vak Naam .
Selecteer de pijl-rechts.
Selecteer Bladeren naar bestand en navigeer naar een .cer- of PFX-bestand.
Als u een .pfx-bestand hebt geselecteerd, geeft u vervolgens het wachtwoord op.
Selecteer het vinkje om het certificaat op te slaan.
Een referentie maken met PowerShell
De volgende voorbeeldopdrachten laten zien hoe u een nieuwe referentie maakt.
$webServer = 'https://MyWebServer'
$port = 9090
$credName = 'MyCredential'
$user = 'contoso\MyUser'
$pwd = ConvertTo-SecureString -String 'P@$$w0rd' -AsPlainText -Force
$cred = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $user,$pwd
Set-SmaCredential -WebServiceEndpoint $webServer -port $port -Name $credName -Value $cred
Een nieuw PowerShell-certificaat maken met Windows PowerShell in Service Management Automation
De volgende voorbeeldopdrachten laten zien hoe u een nieuw certificaat maakt door een certificaatbestand te importeren.
$webServer = 'https://MyWebServer'
$port = 9090
$certName = 'MyCertificate'
$path = 'c:\certs\MyCertificate.pfx'
$certPwd = ConvertTo-SecureString -String 'P@$$w0rd' -AsPlainText -Force
Set-SmaCertificate -WebServiceEndpoint $webServer -port $port -Name $certName -Path $certPath -Password $certPwd
Een PowerShell-referentie gebruiken in een runbook
U haalt een PowerShell-referentie op in een runbook met de activiteit Get-AutomationPSCredential . Dit retourneert een PSCredential-object dat u kunt gebruiken in de werkstroom.
De volgende voorbeeldopdrachten laten zien hoe u een PowerShell-referentie gebruikt in een runbook. In dit voorbeeld wordt de referentie gebruikt met een InlineScript-activiteit om een set opdrachten uit te voeren met behulp van alternatieve referenties.
$myCredential = Get-AutomationPSCredential -Name 'MyCredential' InlineScript { <Commands> } -PSComputerName $ServerName -PSCredential $myCredential
SMA-verbindingen beheren
Een Automation-verbinding bevat de informatie die vereist is om vanuit een runbook verbinding te maken met een service of toepassing. Deze informatie is gedefinieerd in de module voor de toepassing en omvat doorgaans gegevens zoals de gebruikersnaam en het wachtwoord en de computer waarmee verbinding moet worden gemaakt. Andere informatie kan ook vereist zijn, zoals een certificaat of een abonnements-id. De eigenschappen voor een verbinding worden veilig opgeslagen in de Automation-database en kunnen worden geopend in het runbook met de activiteit Get-AutomationConnection .
Windows PowerShell-cmdlets
U kunt referenties maken en beheren met de Windows PowerShell cmdlets in de volgende tabel.
Cmdlets | Description |
---|---|
Get-SmaConnection | Hiermee haalt u de waarden voor elk veld in een bepaalde verbinding op. |
Get-SmaConnectionField | Hiermee haalt u de velddefinities voor een bepaald verbindingstype op. |
Get-SmaConnectionType | Hiermee haalt u de beschikbare verbindingstypen op. |
New-SmaConnection | Hiermee maakt u een nieuwe verbinding. |
Remove-SmaConnection | Hiermee verwijdert u een bestaande verbinding. |
Set-SmaConnectionFieldValue | Hiermee stelt u de waarde van een bepaald veld voor een bestaande verbinding in. |
Runbookactiviteiten
U hebt toegang tot verbindingen in een runbook met de activiteiten in de volgende tabel.
Activiteiten | Description |
---|---|
Get-AutomationConnection | Hiermee haalt u een verbinding op die moet worden gebruikt in een runbook. |
Een verbinding maken in de beheerportal
Selecteer de Automation-werkruimte .
Selecteer Assets boven aan het venster.
Selecteer onder aan het venster De optie Instelling toevoegen.
Selecteer Verbinding toevoegen.
Selecteer een verbindingstype in de vervolgkeuzelijst Verbindingstype .
Voer een naam in voor de verbinding in het vak Naam .
Selecteer de pijl-rechts.
Voer een waarde in voor elke eigenschap.
Selecteer het vinkje om de verbinding op te slaan.
Een verbinding maken met Windows PowerShell
Met de volgende voorbeeldopdrachten wordt een nieuwe Virtual Machine Manager-verbinding met de naam MyVMMConnection gemaakt.
Notitie
We gebruiken een hash-tabel om de eigenschappen van de verbinding te definiëren. Dit komt doordat voor verschillende verbindingstypen verschillende sets van eigenschappen nodig zijn. Een ander type verbinding gebruikt een andere set veldwaarden.
Zie about_Hash_Tables voor meer informatie over hash-tabellen.
$webServer = 'https://MyWebServer'
$port = 9090
$connectionName = 'MyConnection'
$fieldValues = @{"Username"="MyUser";"Password"="password";"ComputerName"="MyComputer"}
New-SmaConnection -WebServiceEndpoint $webServer -port $port -Name $connectionName -ConnectionTypeName "VirtualMachineManager" -ConnectionFieldValues $fieldValues
Een verbinding gebruiken in een runbook
Gebruik de activiteit Get-AutomationConnection om een verbinding in een runbook te gebruiken. Met deze activiteit worden de waarden van de verschillende velden in de verbinding opgehaald en geretourneerd als een hash-tabel, die vervolgens kan worden gebruikt met de juiste opdrachten in het runbook.
Zie about_Hash_Tables voor meer informatie over hash-tabellen.
De volgende voorbeeldcode laat zien hoe u een verbinding gebruikt om de computernaam en referenties op te geven voor een InlineScript-blok waarmee opdrachten op een andere computer worden uitgevoerd.
$con = Get-AutomationConnection -Name 'MyConnection'
$securepassword = ConvertTo-SecureString -AsPlainText -String $con.Password -Force
$cred = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $con.Username, $securepassword
InlineScript {
<Commands>
} -PSComputerName $con.ComputerName -PSCredential $cred
Runbookontwikkeling vereenvoudigen met globale variabelen
Automation-variabelen zijn waarden die beschikbaar zijn voor alle runbooks. U kunt deze maken, wijzigen en ophalen vanuit de beheerportal, Windows PowerShell of vanuit een runbook. Automatiseringsvariabelen 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.
Automation-variabelen blijven behouden, zodat ze beschikbaar blijven, zelfs als het runbook mislukt. Hierdoor kan ook een waarde worden ingesteld door een runbook dat vervolgens door een ander runbook wordt gebruikt of door hetzelfde runbook wordt gebruikt wanneer het de volgende keer wordt uitgevoerd.
Wanneer u een variabele maakt, moet u het gegevenstype opgeven uit de volgende lijst. Dit is zodat de beheerportal het juiste besturingselement voor de waarde van de variabele kan weergeven. U kunt alleen een waarde van het juiste type aan een variabele toewijzen.
Tekenreeks
Geheel getal
Booleaans
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 . De enige manier waarop een versleutelde waarde kan worden opgehaald, is uit de activiteit Get-AutomationVariable in een runbook. U kunt meerdere waarden van het gedefinieerde type opslaan in één variabele door een hash-tabel te maken.
Windows PowerShell-cmdlets
U kunt variabelen maken en beheren met de Windows PowerShell cmdlets in de volgende tabel.
Cmdlets | Description |
---|---|
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
U hebt toegang tot variabelen in een runbook met de activiteiten in de volgende tabel.
Activiteiten | Description |
---|---|
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 'Naamparameter van Get-AutomationVariable omdat dit het detecteren van afhankelijkheden tussen runbooks en Automation-variabelen kan bemoeilijken.
Een nieuwe variabele maken in de beheerportal
Selecteer de Automation-werkruimte .
Selecteer Assets boven aan het venster.
Selecteer onder aan het venster De optie Instelling toevoegen.
Selecteer Variabele toevoegen.
Selecteer een gegevenstype in de vervolgkeuzelijst Type .
Voer een naam in voor de variabele in het vak Naam .
Selecteer de pijl-rechts.
Voer een waarde in voor de variabele en geef op of deze moet worden versleuteld.
Selecteer het vinkje om de nieuwe variabele op te slaan.
Een nieuwe variabele maken met Windows PowerShell
Met de cmdlet Set-SmaVariable wordt een nieuwe variabele gemaakt en wordt de waarde voor een bestaande variabele ingesteld. 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
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 (NumberOfRunnings += 1)
Volgende stappen
- Meer informatie over het bouwen van een integratiemodule.
- Meer informatie over het ontwerpen van automatiseringsrunbooks.
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub-problemen geleidelijk uitfaseren als het feedbackmechanisme voor inhoud en deze vervangen door een nieuw feedbacksysteem. Zie voor meer informatie:Feedback verzenden en weergeven voor