2017-09-28 32 views
0

パラメータとしてIStorageContextを受け付けるコマンドレットを作成します。コマンドレットを実行するときしかし、それは述べTypeNotFound例外をスロー:コマンドレットのパラメータとしてIStorageContextを渡します。タイプ[IStorageContext]を見つけることができません。

タイプは[IStorageContext】ここで

は、コマンドレットで見つけることができません:実際には

Function SomeCmdlet { 
    param(
    [parameter(Mandatory=$true)] 
    [IStorageContext]$storageContext 
) 
    New-AzureStorageContainer -Name "ContainerName" -Context $storageContext -Permission Off 
} 

、私はしましたNew-AzureRmStorageAccountを使用してストレージアカウントを作成しました。そのContextプロパティの値を自分のメソッドと私のメソッドに渡したいのですが、New-AzureStorageContainerを使用してコンテナを作成します。ここでContextパラメータのドキュメントは次のとおりです。

-Context 
Specifies a context for the new container. 

Type:      IStorageContext 
Position:     Named 
Default value:    None 
Accept pipeline input:  True (ByPropertyName, ByValue) 
Accept wildcard characters: False 

私が見つけアウトIStorageContextの完全な名前があること:

  • Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext

しかし、たとえパラメータの型として型の名前の上に使用して同じエラーが発生しました。

答えて

0

代わりの[IStorageContext]あなたは、以下のタイプのいずれかを使用することができます。すべての関連をロードする必要があり

Function SomeCmdlet { 
    param(
    [parameter(Mandatory=$true)] 
    [object]$storageContext 
) 
    New-AzureStorageContainer -Name "ContainerName" -Context $storageContext -Permission Off 
} 
0

Import-Module Azure.Storage:だから方法は次のようになり

  • [Microsoft.WindowsAzure.Commands.Common.Storage.AzureStorageContext]
  • [object]

をタイプするモジュールを現在のPowershellセッションに追加します。

特定のスクリプトでは、Import-Module呼び出しなしでモジュールをロードするには、#Requires -Modules Azure.Storageを使用する必要があります。

特定のライブラリの特定の種類が必要な場合は、Add-Typeコマンドレットを使用します。 Azure SDKがデフォルトの場所にインストールされている場合は、次のようにタイプをロードしてください:

+0

ありがとうございます。私が共有したコードは、単に問題を再現するために使用することができます。提案されたソリューションをテストしましたか? –

+0

どのバージョンの 'Azure.Storage'モジュールを使用していますか? –

関連する問題