2016-09-19 3 views
0

구성에 로컬 계정이 필요하도록하는 응용 프로그램이 있습니다. 나는이 개 폴더가 그 내부에 모듈을 만들었습니다퍼핏 PowerShell 실행

  1. files
  2. manifests

아래는 초기화 파일을 명단 나는 아래의 코드를 가지고 : 파일에서

class xyz { 
    exec { ' app_config': 
    command => ' C:\Windows\System32\WindowsPowershell\v1.0\powershell.exe -file c:\provisioning\modules\xyz\files\config1.ps1 ' 
    } 
} 

이 폴더를 2 파일 :

    로그 파일은 PowerShell을 파일 config1.ps1이 성공적으로 실행있어 보여줍니다

    $user = $env:COMPUTERNAME/Testing 
    
    $Credentials = New-Object -TypeName System.Management.Automation.PScredential -ArgumentList $user, ("[email protected]", | ConvertTo-SecureString -AsPlainText -Force) 
    
    Start-Process C:\Windows\System32\WindowsPowershell\v1.0\powershell.exe -Credential $Credentials -ArgumentList " Start-Process C:\Windows\System32\cmd.exe -File c:\provisioning\c:\provisioning\modules\xyz\files\app_execute.bat " 
    

    c:\puppet\app.bat -f c:\puppet\responsefile.rsp 
    

    app_execute.bat에서 : app_execute.bat

617,451,515,

  • config1.ps1
  • config1.ps1에서 나는 로컬 사용자를 만드는 오전 , 그러나 applicat 이온 로그 파일이 생성되지 않지만 수동으로 실행하면 config1.ps1 앱이 구성됩니다.

    config1.ps1에 확실하지 않은 로컬 계정을 사용하여 별도의 프로세스를 만드는 Start-Process을 사용하고 있습니다.

    꼭두각시는 위의 config1.ps1이 성공적으로 완료 될 때까지 기다리지 않고 있다고 생각합니다.

    완전히 실행하지 않고 나오는 이유는 확실하지 않습니다. 두 프로세스를 시작하면서 init 내에서 하나의 파일 만 실행해야하므로 조건이 있습니까? 명령에 대한

  • +2

    PowerShell 프로세스를 시작하는 PowerShell 스크립트를 시작하는'exec' 리소스는 일종의 파일을 처리하는 다른 배치 파일을 실행하는 배치 파일 (잘못된 경로 포함)을 실행하는 CMD 프로세스를 시작합니다. 응답 파일. 와우. 그냥 ... * 와우! * 내 추천은 : 버리고 다시 시작하는 것입니다. 처음부터. 이번에 로컬 사용자를 생성하려면 ['user' resources] (https://docs.puppet.com/puppet/4.6/reference/resources_user_group_windows.html)를 사용하십시오. –

    +0

    @AnsgarWiechers, 감사와 함께 많은 입력, 나는 사용자 자원을 시도하고 확인합니다. – Shivayogi

    +0

    @AnsgarWiechers, 사용자 자원 옵션을 사용했지만 오류가 발생했습니다. 동일한 티켓을 http://stackoverflow.com/questions/39653659/puppet-local-account-creation-error 티켓을 가져 왔습니다. – Shivayogi

    답변

    1

    , 이것은 나를 위해 일한 무엇이고 나는 꼭두각시 내 작품을 통해 복사 :

    키 무엇
    command => 'powershell -ExecutionPolicy RemoteSigned -file C:\<path to .ps1>' 
    

    기억하기 : 당신 만의 파일을 .ps1입니다 사용할 수 있습니다

    1. -File 옵션은 여기
    2. 이 .ps1 내에 Powershell을 추가 할 수 있으므로 PowerShell ISE를 최대한 활용하십시오. PowerShell 스크립트를 작성하기위한 훌륭한 리소스입니다.
    3. 매니페스트 디렉토리가있는 디렉토리와 동일한 디렉토리 내에 facts.d를 만듭니다. 그런 다음 파일 또는 디렉토리가 존재하는지 확인하는 배치 파일을 작성하십시오. 이는 사실의 생성을 수행하는 간단한 방법입니다. 사용자 생성을 확인할 때 어려울 수 있지만 ECHO user_creation_need=true 또는 =false
    4. VM에서 테스트를 기억하십시오. 이 단계는 정말로 중요하며 자세히 설명하지는 않겠지 만 알려진 양호한 테스트 상태로 신속하게 전환 할 수 있다면 꼭 꼭두각시 작업을 성공적으로 구현하는 것이 더 확실해질 것입니다. Disk2Vhd와 VirtualBox를 살펴보십시오.위의 방향 중 하나를 필요로하지 않기 때문에 사용자 생성 이제

      https://docs.puppet.com/puppet/4.3/reference/quick_start_user_group.html

    는 꼭두각시 매우 굉장합니다. 대신 :

    class user_group_creator { 
        group {'Cool People': 
        name  => 'Cool People', 
        members => ['User1','User3'], 
        ensure  => present, 
        } 
        user {'User2': 
        ensure   => present, 
        name    => 'User2', 
        password   => 'Password', 
        password_max_age => '99999', 
        before   => Group['Cool People'], 
        groups   => 'Cool People', 
    } 
    } 
    

    내가 어떻게 도움이되는지 또는 무엇을 이해하지 못하는지 알려주세요. 인형은 때때로 짐승이 될 수 있습니다!