Simplificar la creación con activos globales de runbooks de automatización de la administración de servicioSimplify Service Management Automation runbook authoring with global assets

Se aplica a: Paquete de Windows Azure para Windows Server, System Center 2016 - Service Management AutomationApplies To: Windows Azure Pack for Windows Server, System Center 2016 - Service Management Automation

Activos globales están disponibles para todos los runbooks en un entorno de automatización.Global Assets are available to all runbooks in an Automation environment. Puede crearlos y configurarlos mediante el área de trabajo de Automatización en el portal de administración o con los cmdlets adecuados en Windows PowerShell.You create and configure them using either the Automation workspace in the management portal or with the appropriate cmdlets in Windows PowerShell. Desde un runbook, puede recuperar y establecer valores para los activos globales con actividades del módulo RunbookConstructs .From a runbook, you can retrieve and set values for global assets with activities in the RunbookConstructs module. Los cmdlets de Windows PowerShell están disponibles para utilizarlos en runbooks en Service Management Automation, pero se recomiendan las actividades que son más eficaces porque no tienen que trabajar a través del servicio web de automatización.The Windows PowerShell cmdlets are available to use in runbooks in Service Management Automation, but the activities are recommended as they are more efficient because they do not have to work through the Automation web service.

Obtiene o establece las credencialesGet or set credentials

Una credencial de automatización puede ser un nombre de usuario y una contraseña que se usan con comandos de Windows PowerShell, o bien un certificado que se carga en el servidor.An Automation Credential is either a username and password that can be used with Windows PowerShell commands or a certificate that is uploaded to the server. Las propiedades de una credencial se almacenan de forma segura en la base de datos de automatización y son accesibles en el runbook mediante las el Get-AutomationPSCredential o Get-AutomationCertificate actividad.The properties for a credential are stored securely in the Automation database and can be accessed in the runbook with either the Get-AutomationPSCredential or Get-AutomationCertificate activity.

Cmdlets de Windows PowerShell para administrar las credencialesWindows PowerShell cmdlets for managing credentials

Puede usar los cmdlets en la tabla siguiente para crear y administrar credenciales con Windows PowerShell en Service Management Automation.You can use the cmdlets in the following table to create and manage credentials with Windows PowerShell in Service Management Automation.

CmdletsCmdlets DescripciónDescription
Get-SmaCertificateGet-SmaCertificate Recupera un certificado de automatización.Retrieves an Automation certificate.
Get-SmaCredentialGet-SmaCredential Recupera una credencial de PowerShell de automatización.Retrieves an Automation PowerShell credential.
Remove-SmaCertificateRemove-SmaCertificate Quita un certificado de automatización.Removes an Automation certificate.
Remove-SmaCredentialRemove-SmaCredential Quita una credencial de PowerShell de automatización.Removes an Automation PowerShell credental.
Conjunto SmaCertificateSet-SmaCertificate Crea un nuevo certificado o establece las propiedades de un certificado existente, e incluye la carga del archivo de certificado y el establecimiento de la contraseña de un .pfx.Creates a new certificate or sets the properties for an existing certificate including uploading the certificate file and setting the password for a .pfx.
Conjunto SmaCredentialSet-SmaCredential Crea una nueva credencial de PowerShell de automatización o establece las propiedades de una credencial existente.Creates a new Automation PowerShell credential or sets the properties for an existing credential.

Cmdlets de Windows PowerShell para trabajar con la credencial en las actividades de runbooksWindows PowerShell cmdlets for working with credential in runbook activities

Puede usar las actividades en la tabla siguiente para obtener acceso a las credenciales en un runbook.You can use the activities in the following table to access credentials in a runbook.

ActividadesActivities DescripciónDescription
Get-AutomationCertificateGet-AutomationCertificate Obtiene un certificado que se va a usar en un runbook.Gets a certificate to use in a runbook.
Get-AutomationPSCredentialGet-AutomationPSCredential Obtiene un nombre de usuario y una contraseña que se van a usar en un runbook.Gets a username/password to use in a runbook.

Nota

Debe evitar usar variables en el "parámetro de nombre de Get-AutomationPSCredential y Get-AutomationCertificate porque esto puede complicar la detección de dependencias entre runbooks y las variables de automatización.You should avoid using variables in the "Name parameter of Get-AutomationPSCredential and Get-AutomationCertificate since this can complicate discovering dependencies between runbooks and Automation variables.

Para crear una credencial de PowerShell nueva con el Portal de administraciónTo create a new PowerShell credential with the Management Portal

  1. Seleccione el área de trabajo Automatización .Select the Automation workspace.

  2. En la parte superior de la ventana, haga clic en Activos.At the top of the window, click Assets.

  3. En la parte inferior de la ventana, haga clic en Agregar configuración.At the bottom of the window, click Add Setting.

  4. Haga clic en Agregar credencial.Click Add Credential.

  5. En la lista desplegable Tipo de credencial , seleccione Credencial de PowerShell.In the Credential Type dropdown, select PowerShell Credential.

  6. Escriba un nombre para la credencial en el cuadro Nombre .Type a name for the credential in the Name box.

  7. Haga clic en la flecha derecha.Click the right arrow.

  8. Escriba un valor para cada propiedad.Type in values for each property.

  9. Haga clic en la marca de verificación para guardar la credencial.Click the check mark to save the credential.

Para crear un certificado nuevo con el Portal de administraciónTo create a new certificate with the Management Portal

  1. Seleccione el área de trabajo Automatización .Select the Automation workspace.

  2. En la parte superior de la ventana, haga clic en Activos.At the top of the window, click Assets.

  3. En la parte inferior de la ventana, haga clic en Agregar configuración.At the bottom of the window, click Add Setting.

  4. Haga clic en Agregar credencial.Click Add Credential.

  5. En la lista desplegable Tipo de credencial , seleccione Certificado.In the Credential Type dropdown, select Certificate.

  6. Escriba un nombre para el certificado en el cuadro Nombre .Type a name for the certificate in the Name box.

  7. Haga clic en la flecha derecha.Click the right arrow.

  8. Haga clic en Buscar archivo y busque un archivo .cer o .pfx.Click Browse for File and navigate to either a .cer or .pfx file.

  9. Si ha seleccionado un archivo .pfx, indique su contraseña.If you selected a .pfx file, then provide its password.

  10. Haga clic en la marca de verificación para guardar el certificado.Click the check mark to save the certificate.

Para crear una credencial nueva de PowerShell con Windows PowerShell en Service Management AutomationTo create a new PowerShell credential with Windows PowerShell in Service Management Automation

Los siguientes comandos de ejemplo muestran cómo crear una credencial nueva.The following sample commands show how to create a new credential.

$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

Para crear un certificado de PowerShell nuevo con Windows PowerShell en Service Management AutomationTo create a new PowerShell certificate with Windows PowerShell in Service Management Automation

Los siguientes comandos de ejemplo muestran cómo crear un certificado nuevo importando un archivo de certificado.The following sample commands show how to create a new certificate by importing a certificate file.

$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

Uso de una credencial de PowerShell en un runbookUsing a PowerShell credential in a runbook

Para recuperar una credencial de PowerShell en un runbook se usa la actividad Get-AutomationPSCredential .You retrieve a PowerShell Credential in a runbook with the Get-AutomationPSCredential activity. Esto devuelve un objeto PSCredential que puede usar en el flujo de trabajo.This returns a PSCredential object that you can use in the workflow.

  • Los siguientes comandos de ejemplo muestran cómo usar una credencial de PowerShell en un runbook.The following sample commands show how to use a PowerShell credential in a runbook. En este ejemplo, se utiliza la credencial con una InlineScript actividad para ejecutar un conjunto de comandos con credenciales alternativas.In this example, the credential is used with an InlineScript activity to run a set of commands using alternate credentials.

    $myCredential = Get-AutomationPSCredential -Name 'MyCredential'
    InlineScript {
       <Commands>
    } -PSComputerName $ServerName -PSCredential $myCredential
    

    Administrar conexiones de SMAManage SMA connections

Una conexión de automatización contiene la información necesaria para conectarse a un servicio o a una aplicación desde un runbook.An Automation Connection contains the information required to connect to a service or application from a runbook. Esta información se define en el módulo de la aplicación y, normalmente, incluye información como el nombre de usuario, la contraseña y el equipo al que debe conectarse.This information is defined in the module for the application and typically includes such information as the username and password and the computer to connect to. También es posible que se requiera otra información como un certificado o un id. de suscripción.Other information may also be required such as a certificate or a subscription Id. Las propiedades de una conexión se almacenan de forma segura en la base de datos de automatización y son accesibles en el runbook con el Get-AutomationConnection actividad.The properties for a connection are stored securely in the Automation database and can be accessed in the runbook with the Get-AutomationConnection activity.

Cmdlets de Windows PowerShellWindows PowerShell Cmdlets

Puede crear y administrar credenciales con los cmdlets de Windows PowerShell en la tabla siguiente.You can create and manage credentials with the Windows PowerShell cmdlets in the following table.

CmdletsCmdlets DescripciónDescription
Get-SmaConnectionGet-SmaConnection Recupera los valores de cada campo en una conexión determinada.Retrieves the values for each field in a particular connection.
Get-SmaConnectionFieldGet-SmaConnectionField Recupera las definiciones de campos para un determinado tipo de conexión.Retrieves the field definitions for a particular connection type.
Get-SmaConnectionTypeGet-SmaConnectionType Recupera los tipos de conexión disponibles.Retrieves the available connection types.
Nueva SmaConnectionNew-SmaConnection Crea una conexión nueva.Creates a new connection.
Remove-SmaConnectionRemove-SmaConnection Quita una conexión existente.Remove an existing connection.
Conjunto SmaConnectionFieldValueSet-SmaConnectionFieldValue Establece el valor de un campo determinado de una conexión existente.Sets the value of a particular field for an existing connection.

Actividades de RunbooksRunbook activities

Puede tener acceso a las conexiones de un runbook con las actividades en la tabla siguiente.You can access connections in a runbook with the activities in the following table.

ActividadesActivities DescripciónDescription
Get-AutomationConnectionGet-AutomationConnection Obtiene una conexión que se va a usar en un runbook.Gets a connection to use in a runbook.

Para crear una conexión nueva con el Portal de administraciónTo create a new connection with the management portal

  1. Seleccione el área de trabajo Automatización .Select the Automation workspace.

  2. En la parte superior de la ventana, haga clic en Activos.At the top of the window, click Assets.

  3. En la parte inferior de la ventana, haga clic en Agregar configuración.At the bottom of the window, click Add Setting.

  4. Haga clic en Agregar conexión.Click Add Connection.

  5. En la lista desplegable Tipo de conexión , seleccione un tipo de conexión.In the Connection Type dropdown, select a connection type.

  6. Escriba un nombre para la conexión en el cuadro Nombre .Type a name for the connection in the Name box.

  7. Haga clic en la flecha derecha.Click the right arrow.

  8. Escriba un valor para cada propiedad.Type in a value for each property.

  9. Haga clic en la marca de verificación para guardar la conexión.Click the check mark to save the connection.

Para crear una nueva conexión con Windows PowerShellTo create a new connection with Windows PowerShell

Los comandos de ejemplo siguientes crean una nueva conexión de Virtual Machine Manager con el nombre myVMMConnection.The following sample commands create a new Virtual Machine Manager connection with the name MyVMMConnection. Observe que utilizamos una tabla hash para definir las propiedades de la conexión.Note that we use a hashtable to define the properties of the connection. Esto se debe a que los distintos tipos de conexiones requieren diferentes conjuntos de propiedades.This is because different types of connections require different sets of properties. Una conexión de otro tipo usaría un conjunto diferente de valores de campo.A connection of another type would use a different set of field values.

Para obtener más información acerca de las tablas hash, vea about_Hash_Tables.For more information about hash tables, see about_Hash_Tables.

$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

Usar una conexión en un runbookUsing a connection in a runbook

Use la actividad Get-AutomationConnection para usar una conexión en un runbook.Use the Get-AutomationConnection activity to use a connection in a runbook. Esta actividad recupera los valores de los diferentes campos de la conexión y los devuelve como una tabla hash que se puede usar después con los comandos adecuados del runbook.This activity retrieves the values of the different fields in the connection and returns them as a hashtable which can then be used with the appropriate commands in the runbook.

Para obtener más información acerca de las tablas hash, vea about_Hash_Tables.For more information about hash tables, see about_Hash_Tables.

El código de ejemplo siguiente muestra cómo utilizar una conexión para proporcionar el nombre del equipo y las credenciales para un InlineScript bloque que ejecuta comandos en otro equipo.The following sample code shows how to use a connection to provide the computer name and credentials for an InlineScript block that runs commands on another computer.

$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

Simplificar el desarrollo de runbook con las variables globalesSimplify runbook development with global variables

Las variables de automatización son valores que están disponibles para todos los runbooks.Automation variables are values that are available to all runbooks. Puede crear, modificar y recuperarlos desde el portal de administración, Windows PowerShell, o desde un runbook.You can create, modify, and retrieve them from the management portal, Windows PowerShell, or from within a runbook. Las variables de automatización son útiles para los escenarios siguientes:Automation variables are useful for the following scenarios:

  • Compartir un valor entre varios runbooks.Share a value between multiple runbooks.

  • Compartir un valor entre varios trabajos del mismo runbook.Share a value between multiple jobs from the same runbook.

  • Administrar un valor desde el portal de administración o desde la línea de comandos de Windows PowerShell que usan los runbooks.Manage a value from the management portal or from the Windows PowerShell command line that is used by runbooks.

Las Variables de automatización se conservan para que sigan estando disponibles incluso si se produce un error en el runbook.Automation Variables are persisted so that they continue to be available even if the runbook fails. Esto también permite que un runbook establezca un valor que después será utilizado por otro runbook, o por el mismo runbook la próxima vez que se ejecute.This also allows a value to be set by one runbook that is then used by another, or is used by the same runbook the next time that it is run.

Cuando se crea una variable, debe especificar su tipo de datos de la lista siguiente.When a variable is created, you must specify its data type from the following list. Esto es así para que el Portal de administración pueda mostrar el control adecuado para el valor de la variable.This is so the management portal can display the appropriate control for the variable value. Solo se puede asignar un valor del tipo correcto a una variable.You can only assign a value of the correct type to a variable.

  • StringString

  • IntegerInteger

  • BooleanBoolean

  • DatetimeDatetime

Cuando se crea una variable, puede especificar que se almacene cifrada.When a variable is created, you can specify that it be stored encrypted. Cuando se cifra una variable, se almacena de forma segura en la base de datos de SMA y su valor no se puede recuperar con el cmdlet Get-SmaVariable .When a variable is encrypted, it is stored securely in the SMA database, and its value cannot be retrieved from the Get-SmaVariable cmdlet. La única manera de recuperar un valor cifrado es con la actividad Get-AutomationVariable en un runbook.The only way that an encrypted value can be retrieved is from the Get-AutomationVariable activity in a runbook. Para almacenar varios valores del tipo definido en una única variable puede crear una tabla hash.You can store multiple values of the defined type to a single variable by creating a hashtable.

Cmdlets de Windows PowerShellWindows PowerShell Cmdlets

Puede crear y administrar variables con los cmdlets de Windows PowerShell en la tabla siguiente.You can create and manage variables with the Windows PowerShell cmdlets in the following table.

CmdletsCmdlets DescripciónDescription
Get-SmaVariableGet-SmaVariable Recupera el valor de una variable existente.Retrieves the value of an existing variable.
Set-SmaVariableSet-SmaVariable Crea una nueva variable o establece el valor de una variable existente.Creates a new variable or sets the value for an existing variable.

Actividades de RunbooksRunbook activities

Puede tener acceso a las variables en un runbook con las actividades en la tabla siguiente.You can access variables in a runbook with the activities in the following table.

ActividadesActivities DescripciónDescription
Get-AutomationVariableGet-AutomationVariable Recupera el valor de una variable existente.Retrieves the value of an existing variable.
Set-AutomationVariableSet-AutomationVariable Establece el valor de una variable existente.Sets the value for an existing variable.

Nota

Debe evitar el uso de variables en el "parámetro de nombre de Get-AutomationVariable porque esto puede complicar la detección de dependencias entre runbooks y las variables de automatización.You should avoid using variables in the "Name parameter of Get-AutomationVariable since this can complicate discovering dependencies between runbooks and Automation variables.

Para crear una variable nueva con el Portal de administraciónTo create a new variable with the management portal

  1. Seleccione el área de trabajo Automatización .Select the Automation workspace.

  2. En la parte superior de la ventana, haga clic en Activos.At the top of the window, click Assets.

  3. En la parte inferior de la ventana, haga clic en Agregar configuración.At the bottom of the window, click Add Setting.

  4. Haga clic en Agregar variable.Click Add Variable.

  5. En la lista desplegable Tipo , seleccione un tipo de datos.In the Type dropdown, select a data type.

  6. Escriba un nombre para la variable en el cuadro Nombre .Type a name for the variable in the Name box.

  7. Haga clic en la flecha derecha.Click the right arrow.

  8. Escriba un valor para la variable y especifique si debe cifrarse.Type in a value for the variable and specify whether to encrypt it.

  9. Haga clic en la marca de verificación para guardar la nueva variable.Click the check mark to save the new variable.

Para crear una nueva variable con Windows PowerShellTo create a new variable with Windows PowerShell

El cmdlet Set-SmaVariable crea una variable nueva y establece el valor de una variable existente.The Set-SmaVariable cmdlet both creates a new variable and sets the value for an existing variable. Los siguientes comandos de ejemplo muestran cómo crear una variable de tipo cadena.The following sample commands show how to create a variable of type string.

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

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

Para utilizar una variable en un runbookTo use a variable in a runbook

  • El código de ejemplo siguiente muestra cómo establecer y recuperar una variable en un runbook.The following sample code shows how to set and retrieve a variable in a runbook. En este ejemplo, se da por hecho que ya se han creado las variables de tipo Integer llamadas NumberOfIterations y NumberOfRunnings, y una variable de tipo String llamada SampleMessage.In this sample, it is assumed that variables of type integer named NumberOfIterations and NumberOfRunnings and a variable of type string named SampleMessage have already been created.

    $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)
    

Pasos siguientesNext steps

Leer acerca de cómo crear módulos de integración crear un módulo de integración.Read about building integration modules Building an integration module. Leer sobre la creación de runbooks de automatización runbooks de automatización de la creación.Read about authoring Automation runbooks Authoring Automation runbooks.