2017-10-24 10 views
0

私はxmlファイルをインポートし、残りのpowershellセッションの変数として保存しようとしています。インポートは明らかに成功しましたが、変数の内容は関数の外部では保持されません。Powershell - 関数の外部に変数を保持

Function auth 
{ 
$cred = import-clixml -Path c:\temp\cred.xml 
} 

答えて

1

これを試してみてください。

Function auth 
{ 
$global:cred = "test" 
} 

auth 
$global:cred 
+1

それは持っていません。関数スコープの外で定義されたばかりです。だけでなく、 – beatcracker

+0

。 initグローバル変数の関数が必要な場合がありますが、問題は何ですか。被験者は尋ねなかった。 – Esperento57

+0

ありがとう、これは素晴らしい仕事。 – josnoir

1

Esperento57が示唆するようにあなたがグローバルを使用することができますか、この

function auth 
{ 
    return 'test' 
} 

$cred = auth 

もっと簡潔な操作を行うことができます。

function auth 
{ 
    'test' 
} 

$cred = auth 
+0

私は 'return'を捨てて、変数をパイプラインに出力します。それは最も慣用的な方法です。 – beatcracker

+0

@beatcracker私はJavaのバックグラウンドから来ているので、私は 'return'を使用していると思います...しかし、はい、あなたは正しいです。私は自分の答えを更新した –