2012-03-21 3 views
1

SharePoint APIを使用して、メソッドSPUtility.GetLocalizedStringが公開されるような関数があります。Powershell:SharePoint APIを使用すると、GetLocalizedStringは何も返しません。

パラメータの1つとして使用するuint言語番号1033(英語)と1036(フランス語)も特定しました。

[System.Reflection.Assembly]::Load("Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c") 

$en = 1033 
$fr = 1036 
$str = "$Resources:docliblist" 
$resx = "core" 
$locstr = [Microsoft.SharePoint.Utilities.SPUtility]::GetLocalizedString($str, $resx, $en) 
$locstr 
$locstr = [Microsoft.SharePoint.Utilities.SPUtility]::GetLocalizedString ("$Resources:doclibList", "core", $fr) 
$locstr 

私が関数を実行すると、$ locstrは空です。ヌルではなく、ただ空です。また

、私は機能をこのように使用する場合:

$str = "$Resources:core, docliblist" 
$locstr = [Microsoft.SharePoint.Utilities.SPUtility]::GetLocalizedString($str, $null, $en) 

を私はちょうどRESXファイルから、私は必要なものを取り出すことができる一方で、私は、今、「docliblist」

の戻り値を取得し、私自身の設定ファイルに入れて、なぜ私はこのisntの作業に困惑しています。誰かが何かアドバイスがあれば、私はそれを感謝します。

ありがとうございました。

*編集

引用符を変更した点は何でしたか?

+1

$リソースはpowershell変数ですか? –

答えて

3

$Resourcesがpowershell変数でない場合は、'$'をエスケープする必要があります。この方法で試してください:

$str = "`$Resources:docliblist" 
+0

驚いたことに、これは働いた。私はスクリプトの代わりにこれを機能に再加工しなければならなくなったが、これは私を助けた。 –

関連する問題