【发布时间】:2019-01-24 18:46:23
【问题描述】:
我在 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
结果我有一个错误磁盘上没有足够的空间,但是当我使用远程桌面连接到任何 Worker 实例并手动运行 InstallAzureModules.cmd 时,所有模块都已安装且没有任何错误。
请帮助安装这些模块。
谢谢。
【问题讨论】:
-
当你登录到worker角色时,磁盘上有多少空间?另外,为什么要为经典资源安装 RM 模块?
-
@Micah_MSFT,当我登录时,我看到三个驱动器 C、D 和 E,有 93 GB、20 GB 和 1.3 GB 的可用空间。你是对的:我不需要 AzureRM 模块。
-
感谢您提供详细信息。不知道为什么你会得到一个磁盘空间错误,除非你强迫它安装在 E 驱动器上,但这没有意义。您提到您可以手动安装它们,一旦安装,您是否有理由在启动时安装它们?您应该只需要安装一次命令。而且,由于它适用于经典命令,因此不应对模块进行任何更新,因此我认为不需要每次启动时都安装它们/
-
只能在现有实例上手动安装 Azure 模块。当工人扩大规模时,新实例将不会安装它。这就是为什么模块安装应该是包的一部分,并在创建时针对每个实例进行处理。
标签: azure-powershell azure-cloud-services azure-worker-roles