2016-03-28 5 views
1

Azure Automation Pullサーバーを使用してVMにDSC設定を追加しようとしています。通常は、環境変数$env:COMPUTERNAMEと現在のマシンの名前を取得することができます - つまり、このような:Azure Automation DSCでコンピュータ名を取得する

xComputer JoinDomain 
{ 
    Name = $env:COMPUTERNAME 
    DomainName = $ConfigurationData.NonNodeData.DomainDetails.DomainName    
    Credential = $domainAdminCredential 
} 

しかし、Azureのオートメーション$env:COMPUTERNAMEを使用すると、関係なく、常に現在のマシン名のCLIENTを返すように見えるとき。 Azure Automationを使用しているときに、DSC設定内で現在のVMの名前を動的に取得するには、どのような方法をお勧めしますか?

ありがとうございます。要約すると

敬具、

トーマス

+0

ここではコンピュータ名を指定する必要はありません。これは、ドメイン参加中にマシンの名前を変更する場合にのみ行われます。 – FoxDeploy

+1

Nameプロパティは必須です。省略することはできません。 –

+0

ああ、私は間違っていた!しかし、今私はこれを行う方法を思い出して、私は私の答えを追加します。 – FoxDeploy

答えて

1

は、DSCの構成は下のように適用されます。

  1. 著者のPowerShell
  2. での設定は、設定をコンパイルします - これはMOFファイルを生成し
  3. mofファイルを同じものを実現するLocalConfigurationManager(LCM)に配信する

実際に指定されたコードは、ステップ2でコンピュータ名を取得します。 #2は、設定を適用するコンピュータとは別のコンピュータで発生する場合があります。この場合、それはAAサービス側のものであることがあります。

現時点では、スクリプトリソースの使用を選択しない限り、構成が実行されているコンピュータの名前を取得する方法はありません。要約すると、設定データを使ってコンピュータ名を指定するか、スクリプトリソースを使用してドメイン結合を行うことができます

1

@ NanaLakshamanの答えをピギーバックしてみましょう。

わかりやすくするために、私はあなたがコンピュータ名とドメイン参加を構成しているとふと思っています。

configuration DomainJoin 
{ 
param 
(
    [string[]]$NodeName ='localhost', 
    [string]$DomainName, 
    [string]$credential 
) 

#Import the required DSC Resources 
Import-DscResource -Module xComputer 

Node $NodeName 
{ #ConfigurationBlock 


    xComputer JoinDomain 
     { 
      Name  = $nodename 
      DomainName = $DomainName    
      Credential = $Credential 

     } 
    } 
} 

、(アズールオートメーションでは、スクリプトを実行していることと思います)F5を押すか、スクリプトを実行して、メモリにコンパイルします。次に、希望の状態設定を生成する関数と同じように、configを呼び出します。 ローカルコンピュータ名を指定できる場所は次のとおりです。

DomainJoin -NodeName $env:ComputerName -DomainName SomeDomain -Credential (Get-Cred) 

これはあなたが使用して適用することができ、新しいconfiguration.mofファイルを作成します。

Start-DscConfiguration -ComputerName localhost -Wait -Force -Verbose 
0

別のオプションは、構成データにコンピュータ名を提供することです。

構成データを供給する方法の例をここでAzureの自動化されたリソースにNodeNameを使用する方法の例に沿って、ここにある:また

https://azure.microsoft.com/en-us/documentation/articles/automation-dsc-compile/

、特定の名前を使用する必要はありません。私はここにその問題を提出しました: https://github.com/PowerShell/xComputerManagement/issues/29

関連する問題