글로벌 자산을 사용하여 Service Management Automation Runbook 작성 간소화
전역 자산은 Automation 환경의 모든 Runbook에서 사용할 수 있습니다. 글로벌 자산은 관리 포털의 자동화 작업 영역을 사용하거나 Windows PowerShell의 적합한 cmdlet을 사용하여 만들고 구성할 수 있습니다. Runbook에서 RunbookConstructs 모듈의 작업으로 글로벌 자산의 값을 검색하고 설정할 수 있습니다. Windows PowerShell cmdlet은 Service Management Automation의 Runbook에서 사용할 수 있지만 Automation 웹 서비스를 통해 작업할 필요가 없으므로 작업이 더 효율적이므로 권장됩니다.
자격 증명 가져오기 또는 설정
자동화 자격 증명은 Windows PowerShell 명령으로 사용할 수 있는 사용자 이름 및 암호이거나 서버에 업로드한 인증서입니다. 자격 증명의 속성은 Automation 데이터베이스에 안전하게 저장되며 Get-AutomationPSCredential 또는 Get-AutomationCertificate 작업을 사용하여 Runbook에서 액세스할 수 있습니다.
자격 증명 관리를 위한 PowerShell
다음 표의 cmdlet을 사용하여 서비스 관리 자동화에서 Windows PowerShell을 사용하여 자격 증명을 만들고 관리할 수 있습니다.
cmdlets | 설명 |
---|---|
Get-SmaCertificate | Automation 인증서를 검색합니다. |
Get-SmaCredential | Automation PowerShell 자격 증명을 검색합니다. |
Remove-SmaCertificate | Automation 인증서를 제거합니다. |
Remove-SmaCredential | Automation PowerShell 자격 증명을 제거합니다. |
Set-SmaCertificate | 새 인증서를 만들거나, 인증서 파일 업로드 및 .pfx에 대한 암호 설정을 비롯하여 기존 인증서에 대한 속성을 설정합니다. |
Set-SmaCredential | 새 Automation PowerShell 자격 증명을 만들거나 기존 자격 증명의 속성을 설정합니다. |
자격 증명을 사용하기 위한 PowerShell
다음 표의 활동을 사용하여 Runbook의 자격 증명에 액세스할 수 있습니다.
활동 | 설명 |
---|---|
Get-AutomationCertificate | Runbook에서 사용할 인증서를 가져옵니다. |
Get-AutomationPSCredential | Runbook에서 사용할 사용자 이름/암호를 가져옵니다. |
참고 항목
Runbook과 Automation 변수 간의 종속성 검색이 복잡해질 수 있으므로 "Get-AutomationPSCredential 및 Get-AutomationCertificate의 Name 매개 변수"에서 변수를 사용하지 않아야 합니다.
관리 포털에서 PowerShell 자격 증명 만들기
자동화 작업 영역을 선택합니다.
창 맨 위에서 자산을 선택합니다.
창 아래쪽에서 설정 추가를 선택합니다.
자격 증명 추가를 선택합니다.
자격 증명 형식 드롭다운에서 PowerShell 자격 증명을 선택합니다.
이름 상자에 자격 증명의 이름을 입력합니다.
오른쪽 화살표를 선택합니다.
각 속성의 값을 입력합니다.
확인 표시를 선택하여 자격 증명을 저장합니다.
에서 인증서를 만듭니다.
관리 포털
자동화 작업 영역을 선택합니다.
창 맨 위에서 자산을 선택합니다.
창 아래쪽에서 설정 추가를 선택합니다.
자격 증명 추가를 선택합니다.
자격 증명 형식 드롭다운에서 인증서를 선택합니다.
이름 상자에 인증서의 이름을 입력합니다.
오른쪽 화살표를 선택합니다.
파일 찾아보기를 선택하고 .cer 또는 .pfx 파일로 이동합니다.
.pfx 파일을 선택한 경우 해당 암호를 제공합니다.
확인 표시를 선택하여 인증서를 저장합니다.
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 데이터베이스에 안전하게 저장되며 Get-AutomationConnection 작업을 사용하여 Runbook에서 액세스할 수 있습니다.
Windows PowerShell cmdlet
다음 표에서 Windows PowerShell cmdlet을 사용하여 자격 증명을 만들고 관리할 수 있습니다.
cmdlets | 설명 |
---|---|
Get-SmaConnection | 특정 연결의 각 필드에 대한 값을 검색합니다. |
Get-SmaConnectionField | 특정 연결 유형에 대한 필드 정의를 검색합니다. |
Get-SmaConnectionType | 사용 가능한 연결 유형을 검색합니다. |
New-SmaConnection | 새 연결을 만듭니다. |
Remove-SmaConnection | 기존 연결을 제거합니다. |
Set-SmaConnectionFieldValue | 기존 연결에 대한 특정 필드의 값을 설정합니다. |
Runbook 작업
다음 표의 활동을 사용하여 Runbook의 연결에 액세스할 수 있습니다.
활동 | 설명 |
---|---|
Get-AutomationConnection | Runbook에서 사용할 연결을 가져옵니다. |
관리 포털에서 연결 만들기
자동화 작업 영역을 선택합니다.
창 맨 위에서 자산을 선택합니다.
창 아래쪽에서 설정 추가를 선택합니다.
연결 추가를 선택합니다.
연결 유형 드롭다운에서 연결 유형을 선택합니다.
이름 상자에 연결 이름을 입력합니다.
오른쪽 화살표를 선택합니다.
각 속성에 대한 값을 입력합니다.
확인 표시를 선택하여 연결을 저장합니다.
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 개발 간소화
자동화 변수는 모든 Runbook에서 사용할 수 있는 값입니다. 관리 포털, Windows PowerShell 또는 Runbook 내에서 만들고 수정하고 검색할 수 있습니다. Automation 변수는 다음과 같은 시나리오에 유용합니다.
여러 Runbook 간에 값을 공유하는 경우
동일한 Runbook의 여러 작업 간에 값을 공유하는 경우
관리 포털 또는 Runbook에서 사용되는 Windows PowerShell 명령줄에서 값을 관리하는 경우
Automation 변수는 Runbook이 실패하더라도 계속 사용할 수 있도록 유지됩니다. 이렇게 하면 한 Runbook에서 값을 설정한 다음 다른 Runbook에서 사용하거나 다음에 실행할 때 동일한 Runbook에서 사용할 수 있습니다.
변수를 만들 때 다음 목록에서 해당 데이터 형식을 지정해야 합니다. 관리 포털에서 변수 값에 대한 적절한 컨트롤을 표시할 수 있도록 합니다. 올바른 형식의 값만 변수에 할당할 수 있습니다.
문자열
정수
Boolean
DateTime
변수를 만들 때 암호화된 상태로 저장되도록 지정할 수 있습니다. 변수가 암호화되면 SMA 데이터베이스에 안전하게 저장되며 해당 값은 Get-SmaVariable cmdlet에서 검색할 수 없습니다. 암호화된 값을 검색할 수 있는 유일한 방법은 Runbook의 Get-AutomationVariable 작업에서 가져온 것입니다. 해시 테이블을 만들어 정의된 형식의 여러 값을 단일 변수에 저장할 수 있습니다.
Windows PowerShell cmdlet
다음 표에서 Windows PowerShell cmdlet을 사용하여 변수를 만들고 관리할 수 있습니다.
cmdlets | 설명 |
---|---|
Get-SmaVariable | 기존 변수의 값을 검색합니다. |
Set-SmaVariable | 새 변수를 만들거나 기존 변수의 값을 설정합니다. |
Runbook 작업
다음 표의 활동을 사용하여 Runbook의 변수에 액세스할 수 있습니다.
활동 | 설명 |
---|---|
Get-AutomationVariable | 기존 변수의 값을 검색합니다. |
Set-AutomationVariable | 기존 변수의 값을 설정합니다. |
참고 항목
Runbook과 Automation 변수 간의 종속성 검색이 복잡해질 수 있으므로 "Get-AutomationVariable의 Name 매개 변수"에서 변수를 사용하지 않아야 합니다.
관리 포털에서 새 변수 만들기
자동화 작업 영역을 선택합니다.
창 맨 위에서 자산을 선택합니다.
창 아래쪽에서 설정 추가를 선택합니다.
변수 추가를 선택합니다.
유형 드롭다운에서 데이터 형식을 선택합니다.
이름 상자에 변수의 이름을 입력합니다.
오른쪽 화살표를 선택합니다.
변수 값을 입력하고 암호화할지 여부를 지정합니다.
확인 표시를 선택하여 새 변수를 저장합니다.
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)