2017-02-20 3 views
0

각 Windows 이미지에서 여러 테스트의 유효성을 검사하는 powershell 스크립트가 있습니다. 그러나 아래의 특정 테스트에서는이 스크립트를 사용할 때 도메인 자격 증명을 사용하여 성공적으로 실행해야합니다.powershell 스크립트에서 도메인 자격 증명을 인증하는 방법

누구든지 해결하도록 도와 줄 수 있습니까?

if (($ImageName -like "*dev*") -or ($ImageName -like "*bare*")) 
    { 
     #$ADE1 = Invoke-Expression ('C:\ade\bin\ade.exe | select-string -pattern "begintrans"') | out-string ; $ADE = $ADE1.trim().split("")[1] 
     Invoke-Expression ('C:\ade\bin\ade.exe | select-string -pattern "begintrans"') > C:\Temp\ade_check.txt 
     $ADE1 = Get-Content C:\Temp\ade_check.txt | Select-String "begintrans" | out-string ; $ADE = $ADE1.trim().split(" ")[1] 

     if ($ADE -eq "begintrans") 
     { 
     $ADE = "ADE Success" 
echo "ADE = ADE Success" 
     } 

     if ($ADE -eq $null){ 
     $ADE = "ADE Failed" 
echo "ADE = ADE Failed" 
     } 

    } 
    else 
     { 
     if (($ImageName -like "*simple*") -or ($ImageName -like "*BareOS*")){ 

     $ADE = "BareOS, ADE Not Installed" 
echo "ADE = BareOS, ADE Not Installed" 
     } 
     } 
+0

['Get-Credential'] (https://msdn.microsoft.com/en-us/powershell/reference/4.0/microsoft.powershell.security/get-credential)을 아직 사용해 보지 않으셨습니까? – vonPryz

+0

사용자 이름과 비밀번호를 묻습니다. Jenkins 도구를 사용하여 스크립트를 원격으로 실행하고 싶습니다. 따라서 사용자 이름과 암호를 묻지 않아야합니다. 어쨌든 스크립트에서 사용자 이름과 암호를 추가하여 동일한 작업을 수행 할 수 있습니까? – SNair

+1

예. 자격 증명을 저장하고 전달하는 방법이 있습니다. 문제는이 중요한 정보를 생략합니다. 먼저 자격 증명을 묻습니다. cmdlet에 대한 암시가 있습니다. 그런 다음 원격 시스템에서 실행중인 것으로 나타납니다. 무엇 향후 계획? – vonPryz

답변

0

@vonPryz에서 제안한대로 인증 된 원격 세션에서 스크립트를 실행하는 것이 가장 좋습니다. Get-Credential는 원격 세션을 인스턴스화에 필요한 및 사용자 이름과 암호를 묻는 것을 우려와 관련, 적어도 두 가지 옵션이 있습니다 : 디스크에서 암호화 된 자격 증명을 읽는 즉시

  • PSCredential 만들기

    일반 텍스트 암호에서 자격 증명을 만들기 비행

    PSCredential 만들기

    여기에 설명되어 ,321

    0 당신은 기본적으로 실행

    PS C:\> $password = "[email protected]" | ConvertTo-SecureString -asPlainText -Force 
    PS C:\> $username = "EdgarSchnittenfittich" 
    PS C:\> $credential = New-Object System.Management.Automation.PSCredential($username,$password) 
    

    디스크

    에서 자격 증명을 암호화 독서입니다 당신이 PSCredential 개체가 후에는 Export-CliXml를 통해 암호화 된 형식으로 내보낼 수 있습니다. 자격 증명을 가져 오려면 Import-CliXml을 발급하십시오. 자격 증명은 현재 사용자가 자격 증명을 내보내는 불투명 한 암호화 키로 암호화 된 형식으로 저장됩니다. 즉, 동일한 사용자 만 나중에 나중에 자격 증명을 다시 가져올 수 있습니다.

    예 :

    $cred = Get-PSCredential; 
    $cred | Export-CliXml C:\TEMP\Credentials.xml; 
    
    $importedCredentials = Import-CliXml C:\TEMP\Credentials.xml; 
    

    실행 스크립트 쉽게 Enter-PSSession 또는 Invoke-Command를 통해 모든 스크립트를 실행할 수 있습니다 이러한 자격 증명으로

    • .
    • Jenkins 환경에 대한 정보 : 자격 증명을 가져 오는 데 사용하는 것과 동일한 서비스 계정으로 암호화 된 자격 증명을 내보내십시오.
  • 관련 문제