2016-10-25 6 views
0

を使わずにオブジェクトのプロパティを参照しようとしていますが、Get-Variableを使用しています。
誰でも方法を知っていますか?
変数による参照オブジェクトのプロパティ

$myObject = New-Object -TypeName PSObject -Property @{ 
    url    = 'TESTURL' 
    webResponse  = '' 
} 

$objName = 'myObject' 

Write-Host Attempt1 
(Get-Variable -Name $objName -ValueOnly).url  # this works, yields TESTURL. 

Write-Host Attempt2 
$($objName).url # this fails, $($objName) returns a string instead of an object 

私はオブジェクトを返すために$($objName)を期待していたが、それは代わりに文字列を返します。

+0

まあを言わせて、それを比較、もちろん、$ objNameには、あなたのオブジェクトの名前です。 '$ myObject.url'はうまくいくはずです。 – ESG

答えて

2

$objNameは文字列です。自分で定義した文字列です。 Get-Variableで何をしているのですか?myObjectという変数があります。 Get-Variableから得た値は、正しいタイプの実際の変数です。すでに指摘したように、$myObject.urlが動作します。

はの単語appleと実際のフルーツ

+0

私は '$ myObject.url'が動作することを知っています。しかし、問題は、私はURLプロパティを持ついくつかのオブジェクトがあることです。オブジェクト名の配列もあります。これらの名前をループし、対応するオブジェクトにアクセスしてURLを設定したいと思います。好ましくは、Get-Variableを使用しないでください。他の方法はありませんか? –

+0

'$ variable1 = Get-Varable $ name1'と' $ variable1.property'の両方をやめることは何もありません –

+0

あなたはvarsや辞書とループの配列を使うこともできます – JPBlanc

関連する問題