다음을 통해 공유


전역 자산을 사용하여 Service Management Automation Runbook 작성 간소화

중요

이 버전의 SMA(서비스 관리 자동화)는 지원이 종료되었습니다. SMA 2022로 업그레이드하는 것이 좋습니다.

전역 자산은 Automation 환경의 모든 Runbook에서 사용할 수 있습니다. 글로벌 자산은 관리 포털의 자동화 작업 영역을 사용하거나 Windows PowerShell의 적합한 cmdlet을 사용하여 만들고 구성할 수 있습니다. Runbook에서 RunbookConstructs 모듈의 작업으로 글로벌 자산의 값을 검색하고 설정할 수 있습니다. Windows PowerShell cmdlet은 Service Management Automation의 Runbook에서 사용할 수 있지만 Automation 웹 서비스를 통해 작업할 필요가 없으므로 작업이 더 효율적이므로 권장됩니다.

자격 증명 가져오기 또는 설정하기

자동화 자격 증명은 Windows PowerShell 명령으로 사용할 수 있는 사용자 이름 및 암호이거나 서버에 업로드한 인증서입니다. 자격 증명의 속성은 Automation 데이터베이스에 안전하게 저장되며, Runbook에서 Get-AutomationPSCredential 또는 Get-AutomationCertificate 작업을 사용하여 액세스할 수 있습니다.

자격 증명을 관리하기 위한 PowerShell

아래 표의 cmdlet을 사용하여 Service Management Automation에서 Windows PowerShell로 자격 증명을 만들고 관리할 수 있습니다.

Cmdlet Description
Get SmaCertificate Automation 인증서를 검색합니다.
Get SmaCredential Automation PowerShell 자격 증명을 검색합니다.
Remove-SmaCertificate Automation 인증서를 제거합니다.
Remove-SmaCredential Automation PowerShell 자격 증명을 제거합니다.
Set-SmaCertificate 새 인증서를 만들거나, 인증서 파일 업로드 및 .pfx에 대한 암호 설정을 비롯하여 기존 인증서에 대한 속성을 설정합니다.
Set-SmaCredential 새 Automation PowerShell 자격 증명을 만들거나 기존 자격 증명의 속성을 설정합니다.

자격 증명을 사용하기 위한 PowerShell

다음 표의 활동을 사용하여 Runbook의 자격 증명에 액세스할 수 있습니다.

활동 Description
Get-AutomationCertificate Runbook에서 사용할 인증서를 가져옵니다.
Get-AutomationPSCredential Runbook에서 사용할 사용자 이름/암호를 가져옵니다.

참고

Get-AutomationPSCredentialGet-AutomationCertificate의 "Name 매개 변수에 있는 변수를 사용하면 Runbook과 Automation 변수 간에 종속성을 발견하는 작업이 어려워질 수 있으므로 사용하지 않아야 합니다.

관리 포털에서 PowerShell 자격 증명 만들기

  1. 자동화 작업 영역을 선택합니다.

  2. 창 위쪽에서 자산을 선택합니다.

  3. 창 아래쪽에서 설정 추가를 선택합니다.

  4. 자격 증명 추가를 선택합니다.

  5. 자격 증명 형식 드롭다운에서 PowerShell 자격 증명을 선택합니다.

  6. 이름 상자에 자격 증명의 이름을 입력합니다.

  7. 오른쪽 화살표를 선택합니다.

  8. 각 속성의 값을 입력합니다.

  9. 검사 표시를 선택하여 자격 증명을 저장합니다.

인증서 만들기

관리 포털

  1. 자동화 작업 영역을 선택합니다.

  2. 창 위쪽에서 자산을 선택합니다.

  3. 창 아래쪽에서 설정 추가를 선택합니다.

  4. 자격 증명 추가를 선택합니다.

  5. 자격 증명 형식 드롭다운에서 인증서를 선택합니다.

  6. 이름 상자에 인증서 의 이름을 입력합니다.

  7. 오른쪽 화살표를 선택합니다.

  8. 파일 찾아보기를 선택하고 .cer 또는 .pfx 파일로 이동합니다.

  9. .pfx 파일을 선택한 경우 해당 암호를 제공합니다.

  10. 검사 표시를 선택하여 인증서를 저장합니다.

PowerShell을 사용하여 자격 증명 만들기

다음 명령 예제에서는 새 자격 증명을 만드는 방법을 보여 줍니다.

$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

서비스 관리 자동화에서 Windows PowerShell을 사용하여 새 PowerShell 인증서를 만들려면

다음 명령 예제에서는 인증서 파일을 가져와 새 인증서를 만드는 방법을 보여 줍니다.

$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

Runbook에서 PowerShell 자격 증명 사용하기

Get-AutomationPSCredential 활동을 통해 Runbook에서 PowerShell 자격 증명을 검색합니다. 그러면 워크플로에서 사용할 수 있는 PSCredential 개체가 반환됩니다.

  • 다음 명령 예제에서는 Runbook에서 PowerShell 자격 증명을 사용하는 방법을 보여 줍니다. 이 예제에서는 대체 자격 증명으로 명령 집합을 실행하기 위해 InlineScript 활동에서 자격 증명이 사용됩니다.

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

SMA 연결 관리

자동화 연결에는 Runbook에서 서비스 또는 애플리케이션에 연결하는 데 필요한 정보가 포함되어 있습니다. 이 정보는 애플리케이션의 모듈에서 정의되며, 일반적으로 연결할 컴퓨터와 사용자 이름 및 암호 등의 정보를 포함합니다. 인증서나 구독 ID와 같은 다른 정보가 필요할 수도 있습니다. 연결의 속성은 Automation 데이터베이스를 안전하게 저장되며, Runbook에서 Get-AutomationConnection 작업을 사용하여 액세스할 수 있습니다.

Windows PowerShell cmdlet

아래 표의 Windows PowerShell cmdlet을 사용하여 자격 증명을 만들고 관리할 수 있습니다.

Cmdlet Description
Get-SmaConnection 특정 연결의 각 필드에 대한 값을 검색합니다.
Get-SmaConnectionField 특정 연결 유형에 대한 필드 정의를 검색합니다.
Get-SmaConnectionType 사용 가능한 연결 유형을 검색합니다.
New-SmaConnection 새 연결을 만듭니다.
Remove-SmaConnection 기존 연결을 제거합니다.
Set-SmaConnectionFieldValue 기존 연결의 특정 필드 값을 설정합니다.

Runbook 활동

아래 표의 작업을 사용하여 Runbook에서 연결에 액세스할 수 있습니다.

활동 설명
Get-AutomationConnection Runbook에서 사용할 연결을 가져옵니다.

관리 포털에서 연결 만들기

  1. 자동화 작업 영역을 선택합니다.

  2. 창 위쪽에서 자산을 선택합니다.

  3. 창 아래쪽에서 설정 추가를 선택합니다.

  4. 연결 추가를 선택합니다.

  5. 연결 유형 드롭다운에서 연결 유형을 선택합니다.

  6. 이름 상자에 연결 이름을 입력합니다.

  7. 오른쪽 화살표를 선택합니다.

  8. 각 속성에 대한 값을 입력합니다.

  9. 검사 표시를 선택하여 연결을 저장합니다.

Windows PowerShell을 사용하여 연결 만들기

다음 명령 예제에서는 MyVMMConnection이라는 새 Virtual Machine Manager 연결을 만듭니다.

참고

해시 테이블을 사용하여 연결의 속성을 정의합니다. 여러 유형의 연결에 서로 다른 속성 집합이 필요하기 때문입니다. 다른 유형의 연결에서는 다른 필드 값 집합을 사용합니다.

해시 테이블에 대한 자세한 내용은 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

Runbook에서 연결 사용

Get-AutomationConnection 활동을 통해 Runbook에서 연결을 사용할 수 있습니다. 이 활동은 연결에서 다른 필드의 값을 검색하고 해시 테이블로 반환합니다. 그러면 Runbook의 적절한 명령과 함께 사용할 수 있습니다.

해시 테이블에 대한 자세한 내용은 about_Hash_Tables를 참조하세요.

다음 예제 코드에서는 연결을 사용하여 다른 컴퓨터에서 명령을 실행하는 InlineScript 블록에 대한 컴퓨터 이름 및 자격 증명을 제공하는 방법을 보여 줍니다.

$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

전역 변수를 사용하여 Runbook 개발 간소화

Automation 변수는 모든 Runbook에서 사용할 수 있는 값입니다. Automation 변수는 관리 포털, Windows PowerShell 또는 Runbook 내에서 만들고 수정하고 검색할 수 있습니다. Automation 변수는 다음과 같은 시나리오에 유용합니다.

  • 여러 Runbook 간에 값을 공유하는 경우

  • 동일한 Runbook의 여러 작업 간에 값을 공유하는 경우

  • 관리 포털 또는 Runbook에서 사용되는 Windows PowerShell 명령줄에서 값을 관리하는 경우

Automation 변수는 Runbook에서 오류가 발생해도 계속 사용할 수 있도록 유지됩니다. 이렇게 하면 한 Runbook에서 값을 설정한 다음 다른 Runbook에서 사용하거나 다음에 실행할 때 동일한 Runbook에서 사용할 수 있습니다.

변수를 만들 때 다음 목록에서 해당 데이터 형식을 지정해야 합니다. 관리 포털에서 변수 값에 대한 적절한 컨트롤을 표시할 수 있도록 합니다. 올바른 형식의 값만 변수에 할당할 수 있습니다.

  • String

  • 정수

  • 부울

  • DateTime

변수를 만들 때 암호화된 상태로 저장되도록 지정할 수 있습니다. 변수가 암호화되면 SMA 데이터베이스에 안전하게 저장되며 Get-SmaVariable cmdlet에서 해당 값을 검색할 수 없습니다. 암호화된 값을 검색하려면 Runbook에서 Get-AutomationVariable 활동을 사용하는 방법밖에 없습니다. 해시 테이블을 만들어 정의된 형식의 여러 값을 단일 변수에 저장할 수 있습니다.

Windows PowerShell cmdlet

아래 표의 Windows PowerShell cmdlet을 사용하여 변수를 만들고 관리할 수 있습니다.

Cmdlet Description
Get-SmaVariable 기존 변수의 값을 검색합니다.
Set-SmaVariable 새 변수를 만들거나 기존 변수의 값을 설정합니다.

Runbook 활동

아래 표의 작업을 사용하여 Runbook에서 변수에 액세스할 수 있습니다.

활동 설명
Get-AutomationVariable 기존 변수의 값을 검색합니다.
Set-AutomationVariable 기존 변수의 값을 설정합니다.

참고

AutomationVariable의 "Name 매개 변수에 있는 변수를 사용하면 Runbook과 Automation 변수 간에 종속성을 발견하는 작업이 어려워질 수 있으므로 사용하지 않아야 합니다.

관리 포털에서 새 변수 만들기

  1. 자동화 작업 영역을 선택합니다.

  2. 창 위쪽에서 자산을 선택합니다.

  3. 창 아래쪽에서 설정 추가를 선택합니다.

  4. 변수 추가를 선택합니다.

  5. 형식 드롭다운에서 데이터 형식을 선택합니다.

  6. 이름 상자에 변수 의 이름을 입력합니다.

  7. 오른쪽 화살표를 선택합니다.

  8. 변수에 대한 값을 입력하고 암호화 여부를 지정합니다.

  9. 검사 표시를 선택하여 새 변수를 저장합니다.

Windows PowerShell을 사용하여 새 변수를 만들려면

Set-SmaVariable cmdlet은 새 변수를 만들고 기존 변수에 대한 값을 설정합니다. 다음 명령 예제에서는 문자열 형식의 변수를 만드는 방법을 보여 줍니다.

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

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

Runbook에서 변수 사용

  • 다음 예제 코드에서는 Runbook에서 변수를 설정 및 검색하는 방법을 보여 줍니다. 이 샘플에서는 NumberOfIterations 및 NumberOfRunnings라는 형식 정수의 변수와 SampleMessage라는 형식 문자열의 변수가 이미 만들어진 것으로 가정합니다.

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

다음 단계