【问题标题】:How to run a script on Azure VM from a remote machine如何从远程计算机在 Azure VM 上运行脚本
【发布时间】:2017-01-12 17:35:21
【问题描述】:

我正在寻找一种在远程机器上的单个云服务实例(具有多个实例)上运行脚本的方法。

我尝试过 DSC,但它似乎不支持仅在一台机器上运行脚本,因为它会在云服务的所有机器上运行它。

注意我使用的是经典的 Azure 云服务。

更新:我特别遇到了 Get-AzureVM 的问题,它是脚本示例的一部分。 如何获取属于我的云服务一部分的实例 VM。 例如我试过:

Get-AzureVM -ServiceName myCloudServiceName -Name instanceVMName 

这并没有返回任何内容(我确保首先添加 AzureAccount)。

我假设它什么都不返回,因为 Get-AzureVM 不能用于云服务,只能用于 VM。 我可以通过运行来获取实例 $dep = Get-AzureDeployment -ServiceName myCloudServiceName -Slot Production $dep.RoleInstanceList[0] 返回的角色实例类型与预期的 VM 类型不同。

有什么想法吗?

【问题讨论】:

    标签: azure azure-virtual-machine azure-cloud-services dsc


    【解决方案1】:

    Powershell Remoting in Azure Cloud Services

    由于您使用的是单个实例,上述方法应该可以解决问题,您需要将用户创建为启动脚本的一部分,否则每次重新创建 VM 时它都会消失。如果您每次都横向扩展至多个云服务实例,这将无法正常工作。

    【讨论】:

    • 我实际上有几个实例作为我的云服务的一部分,并且只想运行其中一个的脚本。我还将使用此信息更新问题
    【解决方案2】:

    您可以使用 Windows 虚拟机的自定义脚本扩展它支持在单个 VM 上运行。

    借助适用于 Windows 的自定义脚本扩展,您无需登录即可在远程 VM 上运行 PowerShell 脚本。您可以在配置 VM 后或在 VM 生命周期中的任何时间运行脚本,而无需打开任何其他端口。运行自定义脚本扩展的最常见用例包括在配置 VM 后在 VM 上运行、安装和配置其他软件。

    更多信息请参考这个link

    【讨论】:

    • 感谢您的帮助。我特别对作为脚本一部分的 Get-AzureVM 命令有疑问。如何获取属于我的云服务一部分的 VM 实例?我尝试将 Get-AzureVM 与云服务名称和实例名称一起使用,但不幸的是没有返回任何内容。
    • 我有同样的,但由于多次订阅。您可以使用 get-AzureSubscription 进行检查
    • 我确保首先运行 Add-AzureAccount,并设置了默认订阅(也更新了问题描述),但运行 Get-AzureVM 时仍然无法获得结果。我猜想 Get-AzureVM 不能用于云服务,只能用于 Azure VM?如果是这样,我该如何使用它?
    • alexandrebrisebois.wordpress.com/2015/08/14/… 可以,但我认为您只能重新启动服务、删除等。附加的链接可能会有所帮助,因为它也适用于云服务,您可以在虚拟机上进行交互。
    • @RavitD I would guess that Get-AzureVM cannot be used for cloud services and only for Azure VMs? 不,您可以使用 Get-AzureVM 获取 Azure VM。你检查你的安装是否正确?根据你的场景,我在实验室测试,可以得到虚拟机的列表。
    猜你喜欢
    • 1970-01-01
    • 2014-07-26
    • 1970-01-01
    • 2021-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多