2016-04-27 18 views
0

パスワードを暗号化した.xmlファイルにユーザー名とパスワードを保存しています。別のユーザー名とパスワードを追加しようとすると、最初のユーザー名とパスワードが上書きされます。既存のファイルをどのように追加することができますか?暗号化されたパスワードをxmlに保存します

$username = "user" 
$password = "password1" | ConvertTo-SecureString -AsPlainText -Force | ConvertFrom-SecureString 
$cred = New-Object -TypeName System.Management.Automation.PSCredential -argumentlist $username,($password | ConvertTo-SecureString) 
$cred | Export-Clixml C:\file.xml 

提供された回答を理解することが困難です。いくつかの異なる値を試しましたが、Nodeの代わりに何を使用する必要がありますか?

<Objs Version="1.1.0.1"xmlns="http://schemas.microsoft.com/powershell/2004/04"> 
    <Obj RefId="0"> 
    <TN RefId="0"> 
     <T>System.Management.Automation.PSCredential</T> 
     <T>System.Object</T> 
    </TN> 
    <ToString>System.Management.Automation.PSCredential</ToString> 
    <Props> 
     <S N="UserName">Tom</S> 
     <SS N="Password">01000000d08c9ddf0115d1118c7a00c04fc297eb01000000fbc3e29e463de248a4643396e70cd6670000000002000000000003660000c0000000100000005f32bf40a436abd21b2855a28a7930f10000000004800000a000000010000000f4d23943a843968368a273547091233b1800000061921de936aa6f7952ef38c53de64f22dcad44e75836a01514000000d50a8b31c7c3a242e82f3c8c1c1105f1431f2a01</SS> 
    </Props> 
    </Obj> 
</Objs> 
+0

「別のものを追加しようとすると」とはどういう意味ですか? –

+0

別のユーザー名とパスワードをファイルに追加する – stvnmil

答えて

0

あなたのコードは実行ごとにXMLファイルを上書きしています。

XMLファイル内の特定の要素を変更するには、データ型を取得して[xml]データ型にキャストし、適切なドット表記法を使用してそのプロパティを変更してからファイルを再度エクスポートします。

たとえば

:同じ静脈で

[xml]$doc = get-content C:\file.xml 
$doc.Node = "new value" # where "Node" is an element within your XML structure 
$doc.OuterXml > C:\file.xml 

必要に応じて、あなたはXMLドキュメントに新しいノードを追加することができます。

[xml]$doc = "<Nodes><Node>1</Node></Nodes>" 
$newNode = $doc.CreateElement("Node") 
$newNode.InnerXml = 2 
$doc.Nodes.AppendChild($newNode) 
# $doc.OuterXml is now <Nodes><Node>1</Node><Node>2</Node></Nodes> 
関連する問題