0

我在第一行下载了一个使用“AzureManagementToolsSnapin”的脚本,如下所示: Add-PSSnapin AzureManagementToolsSnapin

我阅读了一些博客并从以下链接下载了 Azure Powershell CMDLets: http ://wappowershell.codeplex.com/releases/view/84058

当我尝试按照下面链接上的给定文档进行安装时,我无法安装。但是,它会记录下面的错误,我完全不明白为什么:

安装程序集“C:\WindowsAzure\WAPPSCmdletsBin\release\Microsoft.WindowsAzure.Samples.ManagementTools.Powershell.dll”。受影响的参数是: i = assemblypath = C:\WindowsAzure\WAPPSCmdletsBin\release\Microsoft.WindowsAzure.Samples.ManagementTools.Powershell.dll 日志文件 = C:\WindowsAzure\WAPPSCmdletsBin\release\Microsoft.WindowsAzure.Samples.ManagementTools.Powershell.InstallLog logtoconsole = 尝试在 C:\WindowsAzure\WAPPSCmdletsBin\release\Microsoft.WindowsAzure.Samples.ManagementTools.Powershell.dll 程序集中查找安装程序时发生异常。System.Reflection.ReflectionTypeLoadException:无法加载一种或多种请求的类型。检索 LoaderExceptions 属性以获取更多信息。中止 C:\WindowsAzure\WAPPSCmdletsBin\release\Microsoft 的安装。WindowsAzure.Samples.ManagementTools.Powershell.dll。回滚程序集“C:\WindowsAzure\WAPPSCmdletsBin\release\Microsoft.WindowsAzure.Samples.ManagementTools.Powershell.dll”。受影响的参数是: i = assemblypath = C:\WindowsAzure\WAPPSCmdletsBin\release\Microsoft.WindowsAzure.Samples.ManagementTools.Powershell.dll 日志文件 = C:\WindowsAzure\WAPPSCmdletsBin\release\Microsoft.WindowsAzure.Samples.ManagementTools.Powershell.InstallLog logtoconsole = 尝试在 C:\WindowsAzure\WAPPSCmdletsBin\release\Microsoft.WindowsAzure.Samples.ManagementTools.Powershell.dll 程序集中查找安装程序时发生异常。System.Reflection.ReflectionTypeLoadException:无法加载一种或多种请求的类型。检索 LoaderExceptions 属性以获取更多信息。

拜托,有人可以帮我理解我所缺少的。我也尝试从下面下载:http: //www.windowsazure.com/en-us/downloads/

但是,我下载的脚本中的许多功能似乎在 windows azure powershell 上并不存在。

powershell 代码片段如下所示,不确定它是否已过时:

Add-PSSnapin AzureManagementToolsSnapIn

#bla bla

Get-HostedServices -SubscriptionId $sub -Certificate $cert|Select ServiceName|

foreach {
 #Logic here
$service = $_.ServiceName

write-host $service

$deployId = (Get-HostedService $service -SubscriptionId $sub -Certificate $cert | Get-Deployment Staging).DeploymentId       

Get-DiagnosticAwareRoles -StorageAccountName $storage -StorageAccountKey $key -DeploymentId $deployId | 

foreach { 

     #DO stuff here

    }   

}



}

谢谢。

4

1 回答 1

0

Codeplex 站点表明您的第二个链接现在是正确的下载链接。在底部的命令行工具下,是 PowerShell 的链接。

我下载了它,安装了,启动了一个新的 PoSH 会话,发现有一个 Azure模块,但没有管理单元。我似乎记得在某处读过微软正在推动每个人从管理单元迁移到模块。

    Directory: C:\Program Files (x86)\Microsoft SDKs\Windows Azure\PowerShell


ModuleType Name                                ExportedCommands
---------- ----                                ----------------
Binary     Azure                               {Disable-AzureServiceProjectRemoteDesktop, Enable-AzureMemcacheRole, ...

如果没有您实际尝试执行的脚本,就无法诊断您的具体问题。但是您可能正在使用一些有点过时的东西,您至少需要切换到加载模块而不是管理单元。

在原始帖子编辑后编辑:

您的示例中调用的 cmdlet 在 Azure 模块中不存在,但Get-AzureDeployment可能映射到Get-DeploymentGet-AzureService 可能映射到Get-HostedServices并且Get-AzureRole 可能映射到Get-DiagnosticAwareRoles- 但我不知道 Azure。

简短的版本是,如果 Codeplex 管理单元不适合您,并且官方说法是您应该使用从 Microsoft 下载的模块(我在上面提到的那个),您将不得不一些调整。

于 2013-05-02T12:37:50.803 回答