无法在辅助角色上安装 Azure/AzureRM PowerShell 模块

Cannot install Azure/AzureRM PowerShell modules on Worker roles

我在 Azure 云服务(经典)上有一个工作者角色,我希望他们在启动时安装 Azure 和 AzureRM PowerShell 模块。我在 ServiceDefinition.csdef 文件中添加了一个启动任务:

<Startup>
  <Task commandLine="InstallAzureModules.cmd" executionContext="elevated" taskType="simple" />
</Startup>

InstallAzureModules.cmd 文件如下所示:

PowerShell.exe -ExecutionPolicy Unrestricted .\InstallAzureModules.ps1 >> "D:\InstallAzureModulesLogs.txt" 2>&1

InstallAzureModules。ps1 看起来像这样:

Install-PackageProvider NuGet -Force

Install-Module Azure -AllowClobber -Force

Install-Module AzureRM -AllowClobber -Force

结果我有一个错误 磁盘上没有足够的 space ,但是当我使用远程桌面连接到任何 Worker 实例并且 运行 InstallAzureModules.cmd 手动安装所有模块,没有任何错误。

请帮助安装这些模块。

谢谢。

在联系 Microsoft 支持后,问题终于得到解决!

根据处理我的请求的专业支持人员的说法,此错误是由于应用程序临时文件夹的重定向造成的。我被建议通过此 link 进行可能的修复,但它没有用。

还提供了对我的 PS 脚本的更新,真正有用的是将 TMP 和 TEMP 环境变量设置到驱动器 C 上的文件夹。所以这是我的最终脚本:

$env_TMP = $env:TMP
$env_TEMP = $env:TEMP
$env:TMP = "C:\_trashable\Modules"
$env:TEMP = "C:\_trashable\Modules"

Install-PackageProvider NuGet -Force

Install-Module Azure -AllowClobber -Force

$env:TMP = $env_TMP
$env:TEMP = $env_TEMP

ECHO "Finished"