DSC의 변수에 PowerShell 표현식 결과를 등록하는 방법은 무엇입니까?

테크 라프

Azure Automation DSC를 사용하여 Azure VM을 구성하려고합니다. 내가 설정하려는 리소스 중 하나는 xDnsServerAddressfrom xNetworking모듈이 있는 클라이언트 워크 스테이션의 DNS입니다 .

문제는 Azure VM에서 인터페이스 별칭이 필요하고 인터페이스 별칭이 배포에 따라 달라진다는 것입니다 (주로 VM은 Ethernet또는 을 가져 오는 것 같습니다 Ethernet 2).

다음 cmdlet 식을 사용하여 로컬에서 인터페이스 이름을 쿼리 할 수 ​​있습니다.

$Interface=Get-NetAdapter|Where Name -Like "Ethernet*"|Select-Object -First 1
$InterfaceAlias=$($Interface.Name)

그러나 DSC 내부에서 사용하는 방법을 모르겠습니다.

내 DSC 구성은 다음과 같습니다 (관련 부분 만 해당).

Configuration MyDscConfig
{    
    Import-DscResource -ModuleName xNetworking

    # place-1

    Node $AllNodes.where{$_.Role -eq "Workstation"}.NodeName
    {

        # place-2

        xDnsServerAddress DnsServerAddressSetToDc1
        {
            Address        = '10.0.0.4'
            InterfaceAlias = $InterfaceAlias
            AddressFamily  = 'IPv4'
            Validate       = $true
        }
    }
}

문제는 cmdlet 식을에 배치 place-1하거나 place-2컴파일 작업이 다음과 함께 실패한다는 것입니다.

기본 설정 변수 "ErrorActionPreference"또는 일반 매개 변수가 Stop으로 설정되어 실행중인 명령이 중지되었습니다. 'Get-NetAdapter'라는 용어는 cmdlet, 함수, 스크립트 파일 또는 작동 가능한 프로그램의 이름으로 인식되지 않습니다. 이름의 철자를 확인하거나 경로가 포함 된 경우 경로가 올바른지 확인하고 다시 시도하십시오.

Get-NetAdapter풀 서버에서 실행 시도한다고 가정 하지만 오류 메시지를 잘못 해석 할 수 있습니다.

cmdlet 식의 결과를 대상 컴퓨터에 등록 $InterfaceAlias하고 xDnsServerAddress리소스에 대한 변수에 등록 하려면 어떻게해야합니까?

TravisEz13

현재는 쿼리를 수행하여 작업 결과를 유지하고 다음 상태를 선언하는 데 사용할 수 없습니다 (답변 끝에있는 참고 사항 참조).

xNetworking에서 문서화 된 해결 방법 / 솔루션을 사용하여이 제한 사항을 해결할 수 있습니다. xNetworking 은 이름 Ethernet1이없는 활성 이더넷 어댑터를 찾고 첫 번째 활성 이더넷 어댑터를 찾고 이름이 Ethernet1. 그런 다음 리소스를 사용하여에 DSC 서버 주소를 설정합니다 Ethernet1.

이것은 조 사용이며 이름과 매개 변수는 변경 될 수 있습니다. DSC 팀은이를위한 더 나은 방법을 조사하고 있습니다.

Configuration SetDns
{
    param
    (
        [string[]]$NodeName = 'localhost'
    )

    Import-DSCResource -ModuleName xNetworking

    Node $NodeName
    {
        script NetAdapterName
        {
            GetScript = {
                Import-module xNetworking
                $getResult = Get-xNetworkAdapterName -Name 'Ethernet1'
                return @{
                    result = $getResult
                }
            }
            TestScript = {
                Import-module xNetworking
                Test-xNetworkAdapterName -Name 'Ethernet1'
            }
            SetScript = {
                Import-module xNetworking
                Set-xNetworkAdapterName -Name 'Ethernet1' -IgnoreMultipleMatchingAdapters
            }
        }
        xDnsServerAddress DnsServerAddress
        {
            Address        = '10.0.0.4'
            InterfaceAlias = 'Ethernet1'
            AddressFamily  = 'IPv4'
            DependsOn = @('[Script]NetAdapterName')
        }
    }
}

메모:

댓글에 질문이 있습니다. 질문의 요약은 쿼리가 선언적 패러다임을 명령형 패러다임으로 바꾸는 지 여부입니다.

대답:

쿼리가 명령형 패러다임으로 바뀐다 고 생각하지 않지만 현재 쿼리를 수행하여 작업 결과를 유지하고 다음 상태를 선언하는 데 사용할 수는 없습니다.

이것은 현재 내가 원하는 문제에 대해 선언적인 것에서 조금 더 멀어지게 만듭니다. 제 개인적인 의견 은 우리가 가지고있는 것으로 작업하고 알려진 상태를 쿼리하고 설정하는 리소스를 작성해야한다는 것입니다. 그런 다음 나머지 구성을 통해 알려진 상태를 사용합니다 (용어에 따라 선언적 상대 형식).

DSC 팀에는 이 요청을 추적하는 데 사용하는 이와 유사한 UserVoice 제안 이 있습니다. 이것이 유용한 기능이라고 생각되면 찬성하십시오.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

선택 표현식의 결과를 변수로 저장하는 방법은 무엇입니까?

분류에서Dev

Octave의 정규 표현식에서 변수를 사용하는 방법은 무엇입니까?

분류에서Dev

JavaFX 하나의 등록 양식에 더 많은 EventHandler를 결합하는 방법은 무엇입니까?

분류에서Dev

스칼라 일치 표현식의 중간 결과를 목록에 저장하는 방법은 무엇입니까?

분류에서Dev

Vala의 Lambda 표현식이 캡처하는 변수를 조정하는 방법은 무엇입니까?

분류에서Dev

방정식의 변수를 다른 방정식으로 대체하고 R에서 해당 표현식을 평가하는 방법은 무엇입니까?

분류에서Dev

HTML에 SQL Server의 결과를 표시하는 방법은 무엇입니까?

분류에서Dev

명령의 출력을 분할하고 단일 표현식 만 사용하여 결과를 배열에 할당하는 방법은 무엇입니까?

분류에서Dev

파이썬의 목록 안에 곱셈표의 결과를 저장하는 방법은 무엇입니까?

분류에서Dev

변수 매개 변수를 XPath 표현식에 전달하는 방법은 무엇입니까?

분류에서Dev

SQL 문의 결과를 변수로 저장하고 그 결과를 SSIS 식에 사용하는 방법은 무엇입니까?

분류에서Dev

양식의 루프에서 여러 필드를 등록하는 방법은 무엇입니까?

분류에서Dev

변수 세트가 주어지면 리터럴 표현식에서 정의되지 않은 변수를 찾는 방법은 무엇입니까?

분류에서Dev

PowerShell의 While 루프 내에서 명령 결과를 전달하는 방법은 무엇입니까?

분류에서Dev

정규식의 다른 결과 (grep 사용?)를 변수로 검색하는 방법은 무엇입니까?

분류에서Dev

R에서 표현식을 평가하기 전에 정의해야하는 모든 변수를 얻는 방법은 무엇입니까?

분류에서Dev

PowerShell의 API를 OAUTH 2.0과 연결하는 방법은 무엇입니까?

분류에서Dev

날짜 표현식 가져 오기에 변수를 삽입하는 방법은 무엇입니까?

분류에서Dev

Angularjs에서 ng-repeat에 표현식 변수를 추가하는 방법은 무엇입니까?

분류에서Dev

Oracle의 정규 표현식에서 단어를 제외하는 방법은 무엇입니까?

분류에서Dev

C ++ 11의 단일 표현식에서 람다를 선언하는 방법은 무엇입니까?

분류에서Dev

찾기를 위해 표현식의 일부에 별칭을 지정하는 방법은 무엇입니까?

분류에서Dev

sed의 정규 표현식에서 [\ w] +를 사용하는 방법은 무엇입니까?

분류에서Dev

Mongodb의 쿼리 평가 기준 표현식에서 필드를 사용하는 방법은 무엇입니까?

분류에서Dev

Lambda 표현식을 사용하여 ResultSet의 데이터를 HashMap에 넣는 방법은 무엇입니까?

분류에서Dev

symengine.py의 표현식에 evalf ()를 적용하는 방법은 무엇입니까?

분류에서Dev

C #의 PowerShell.AddParameter 메서드에서 powershell 변수를 사용하는 방법은 무엇입니까?

분류에서Dev

C #의 PowerShell.AddParameter 메서드에서 powershell 변수를 사용하는 방법은 무엇입니까?

분류에서Dev

AngularDart를 사용하여 표현식에서 경로 매개 변수를 얻는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    선택 표현식의 결과를 변수로 저장하는 방법은 무엇입니까?

  2. 2

    Octave의 정규 표현식에서 변수를 사용하는 방법은 무엇입니까?

  3. 3

    JavaFX 하나의 등록 양식에 더 많은 EventHandler를 결합하는 방법은 무엇입니까?

  4. 4

    스칼라 일치 표현식의 중간 결과를 목록에 저장하는 방법은 무엇입니까?

  5. 5

    Vala의 Lambda 표현식이 캡처하는 변수를 조정하는 방법은 무엇입니까?

  6. 6

    방정식의 변수를 다른 방정식으로 대체하고 R에서 해당 표현식을 평가하는 방법은 무엇입니까?

  7. 7

    HTML에 SQL Server의 결과를 표시하는 방법은 무엇입니까?

  8. 8

    명령의 출력을 분할하고 단일 표현식 만 사용하여 결과를 배열에 할당하는 방법은 무엇입니까?

  9. 9

    파이썬의 목록 안에 곱셈표의 결과를 저장하는 방법은 무엇입니까?

  10. 10

    변수 매개 변수를 XPath 표현식에 전달하는 방법은 무엇입니까?

  11. 11

    SQL 문의 결과를 변수로 저장하고 그 결과를 SSIS 식에 사용하는 방법은 무엇입니까?

  12. 12

    양식의 루프에서 여러 필드를 등록하는 방법은 무엇입니까?

  13. 13

    변수 세트가 주어지면 리터럴 표현식에서 정의되지 않은 변수를 찾는 방법은 무엇입니까?

  14. 14

    PowerShell의 While 루프 내에서 명령 결과를 전달하는 방법은 무엇입니까?

  15. 15

    정규식의 다른 결과 (grep 사용?)를 변수로 검색하는 방법은 무엇입니까?

  16. 16

    R에서 표현식을 평가하기 전에 정의해야하는 모든 변수를 얻는 방법은 무엇입니까?

  17. 17

    PowerShell의 API를 OAUTH 2.0과 연결하는 방법은 무엇입니까?

  18. 18

    날짜 표현식 가져 오기에 변수를 삽입하는 방법은 무엇입니까?

  19. 19

    Angularjs에서 ng-repeat에 표현식 변수를 추가하는 방법은 무엇입니까?

  20. 20

    Oracle의 정규 표현식에서 단어를 제외하는 방법은 무엇입니까?

  21. 21

    C ++ 11의 단일 표현식에서 람다를 선언하는 방법은 무엇입니까?

  22. 22

    찾기를 위해 표현식의 일부에 별칭을 지정하는 방법은 무엇입니까?

  23. 23

    sed의 정규 표현식에서 [\ w] +를 사용하는 방법은 무엇입니까?

  24. 24

    Mongodb의 쿼리 평가 기준 표현식에서 필드를 사용하는 방법은 무엇입니까?

  25. 25

    Lambda 표현식을 사용하여 ResultSet의 데이터를 HashMap에 넣는 방법은 무엇입니까?

  26. 26

    symengine.py의 표현식에 evalf ()를 적용하는 방법은 무엇입니까?

  27. 27

    C #의 PowerShell.AddParameter 메서드에서 powershell 변수를 사용하는 방법은 무엇입니까?

  28. 28

    C #의 PowerShell.AddParameter 메서드에서 powershell 변수를 사용하는 방법은 무엇입니까?

  29. 29

    AngularDart를 사용하여 표현식에서 경로 매개 변수를 얻는 방법은 무엇입니까?

뜨겁다태그

보관