2017-02-20 46 views
0

私は各Windowsイメージで複数のテストを検証するpowershellスクリプトを用意しています。しかし、以下の特定のテストでは、このスクリプトを使用するとドメイン資格情報が正常に動作するために使用される必要があります。powershellスクリプトでドメイン証明書を認証する方法

誰でも問題を解決する手助けはできますか?認証されたリモートセッションでスクリプトを実行している@vonPryzによって示唆されるように

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

あなたはまだ[ 'ゲット-Credential'](https://msdn.microsoft.com/en-us/powershell/reference/4.0/microsoft.powershell.security/get-credential)を試したことがありますか? – vonPryz

+0

これはユーザー名とパスワードを尋ねます。 Jenkinsツールを使用してスクリプトをリモートで実行したい。だから、ユーザー名とパスワードを尋ねるべきではありません。とにかく、スクリプトでユーザー名とパスワードを追加して同じことを行うことができます – SNair

+1

はい、資格情報を保存してそれらを転送する手段があります。問題は、この重要な情報を省略します。まず、資格情報について質問します。コマンドレットのヒントが表示されます。次に、リモートシステム上で実行されていることがわかります。次は何ですか? – vonPryz

答えて

0

は、おそらく最高のものになります。 Get-Credentialがリモートセッションをインスタンス化するために必要なユーザ名とパスワードを要求されていることを、あなたの懸念については、少なくとも2つのオプションがあります。ディスクから暗号化された資格情報を読むフライ

  • PSCredentialの作成

    クリアテキストのパスワードから信任状を作成するフライ

    PSCredentialを作成する

    は、ここで説明されています Creating a PS Credential from a Clear Text Password in Powershell

    あなたは基本的に実行します。あなたはExport-CliXml経由で暗号化された形式でエクスポートすることができPSCredentialオブジェクトを持っていたら

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

    を読み取り、ディスク

    から資格情報を暗号化されました。資格情報をインポートするには、Import-CliXmlを発行してください。資格情報は、現在の資格情報をエクスポートするユーザーのユーザーに対して、不透明な暗号化キーを使用して暗号化された形式で格納されます。つまり、後で同じユーザーだけが資格情報を再度インポートできます。

    例:あなたは簡単にEnter-PSSessionまたはInvoke-Command経由で任意のスクリプトを実行することができ、これらの資格情報を使用して

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

    あなたのスクリプトの実行

    • Jenkins環境について:暗号化された資格情報を、資格情報のインポートに使用するものと同じサービスアカウントでエクスポートするようにしてください。
  • 関連する問題