在 Build
开发者大会上推出VM
扩展程序的其中一个称为“自定义脚本扩展程序”,它支持
PowerShell。如果这是您第一次访问这些博客,可能需要查看以前的博客,请单击此处此处,了解有关
VM Agent 和扩展程序的概述。

那么,此扩展程序有何用途?它与远程PowerShell
或任何其他现有远程执行工具有什么不同?简而言之,自定义脚本扩展程序可以从 Azure
存储自动下载脚本和文件,并在 VM
上启动 PowerShell
脚本,进而安装更多软件组件。与任何其他 VM
扩展程序一样,可以在创建 VM
时或在运行 VM
后添加自定义脚本扩展程序。听起来很简单,但却非常有用!

使用此扩展程序运行PowerShell
脚本的先决条件:

  • 此处安装
    Azure PowerShell Cmdlets V0.8.0 或更高版本。

  • 如果脚本将在现有的 VM
    上运行,请确保 VM
    上已启用 VM Agent,如果没有,请按照博客文章中的说明进行安装。

  • 将要在 VM
    上运行的脚本上传到 Azure
    存储。这些脚本可以来自一个或多个存储容器。

应该以这样一种方式编写脚本,即扩展程序启动的入口脚本可以转而启动其他脚本。

现在您已经满足必要的先决条件,让我们来演示几个用例,说明如何使用这些 cmdlet。此扩展程序的当前版本只支持
PowerShell cmdlet,但在未来可能会扩展到其他类型的脚本。

用例 1:将文件上传到默认帐户的容器中。

如果您将脚本保存在默认订阅帐户的存储容器中,那么下面的 cmdlet
代码段将显示如何在 VM
上运行这些脚本。下面示例中的 ContainerName
是您要将脚本上传到的位置。默认存储帐户可通过 cmdlet“Get-AzureSubscription –Default”进行验证。

注意:此用例会创建一个新的 VM,但您也可以在现有
VM 上完成相同的操作。

用例 2:使用非默认存储帐户。

此用例说明如何在相同或不同订阅中使用非默认存储上传脚本/文件。这里我们将使用现有的
VM,但在创建新 VM
时也可以完成相同的操作。

用例 3:跨不同存储帐户将脚本上传到多个容器。

如果脚本文件存储在多个容器中,那么目前要运行这些脚本,您必须提供这些文件的完整 SAS URL。可以使用
Azure Storage Explorer
等工具生成 SAS URL。

希望这些 cmdlet
将帮助您自动执行某些 VM
自定义任务。如果您希望在此扩展程序即将发布的版本中看到您所希望的其他功能,欢迎您提供反馈。请将您的评论/问题发布到此处

本文翻译自:http://blogs.msdn.com/b/windowsazure/archive/2014/04/24/automating-vm-customization-tasks-using-custom-script-extension.aspx

使用自定义脚本扩展程序自动执行 VM 自定义任务的更多相关文章

  1. 使用 CustomScript 扩展程序自动执行 Linux 虚拟机自定义任务

    NingKuangWSSC WS ARD 高级项目经理 您可能已经从Windows扩展程序博客中了解了针对 Windows 虚拟机的 CustomScript扩展程序,现在的好消息是,这一扩展程序也已 ...

  2. 适用于 Windows 的自定义脚本扩展

    自定义脚本扩展在 Azure 虚拟机上下载并执行脚本. 此扩展适用于部署后配置.软件安装或其他任何配置/管理任务. 可以从 Azure 存储或 GitHub 下载脚本,或者在扩展运行时将脚本提供给 A ...

  3. 如何让PHP程序自动执行(后台)

    如何让php程序自动执行,这个就需要用到一个函数了: int ignore_user_abort ( [bool setting] )  定义和用法 ignore_user_abort() 函数设置与 ...

  4. centos7下自定义服务启动和自动执行脚本

    systemctl list-units --type=service #查看所有已启动的服务 systemctl enable httpd.service #加入开机自启动服务 systemctl ...

  5. 基于阿里云安装脚本扩展 之 自动安装mongodb及php扩展

    好久没有发布文章了,有点跟不上当初这个博客的初衷.为了使自己的博客更新不半途而废,今天特意再写了一个自动安装脚本,一样是基于阿里云的服务端安装脚本进行的扩展.闲话不说,直接放代码: #!/bin/ba ...

  6. VM Agent 和扩展程序

    VM Agent 和扩展程序 - 第 1 部分  Windows Azure基础结构服务最近宣布了一项新功能VM Agent.VMAgent是一个轻量级进程,用于启动由Microsoft或合作伙伴 ...

  7. 使用 VMAccess 扩展程序重置 Linux 虚拟机的登录凭据

    Ning KuangWSSC WS ARD高级项目经理 您是否曾经因为忘记 Azure VM 密码或 SSH密钥而导致无法访问 VM?VMAccess扩展程序使您可以重置密码.SSH密钥或 SSH ...

  8. 笔记之monkey自定义脚本

    自定义脚本的稳定性测试 常规MOnkey测试执行的是随机的事件流,但如果只是想让Monkey测试某个特定场景者时候就需要用到自定义脚本,Monkey支持执行用户自定义脚本的测试,用户之需要按照Monk ...

  9. 微信小程序学习笔记四 自定义组件

    1. 自定义组件 类似Vue或react中的自定义组件 小程序允许我们使用自定义组件的方式来构建页面 1.1 创建自定义组件 类似于页面, 一个自定义组件由json wxml wxss js 4个文件 ...

随机推荐

  1. 【算法】超大数组去重(Java语言实现)

    要求时间复杂度和空间复杂度尽可能低! 情景一:需要返回的是不重复的数组. 情景二:只需要返回不重复的元素个数.

  2. 迁移到gitbook

    现在要迁移到gitbook啦, 一些note类分享就只在gitbook发了, 其他一些比较长的分享会第一时间发到gitbook,但也会在这边同步 我的gitbook

  3. Linux----函数中变量的作用域、local关键字。

    问题引出: 问题说明: shell的函数中如果变量的前面没有加local关键字.在全局作用域内存在这个变量名的情况下.函数中会直接使用这个变量 而不是自己创建一个.要想做到在函数创建一个变量也是可以的 ...

  4. SQL Server 固定角色

    1. 查看固定服务器角色 execute sp_helpsrvrole; 管理: execute master..sp_addsrvrolemember @logingName='neeky' @ro ...

  5. Oracle EBS-SQL (BOM-3):检查期间新增Bom数量.sql

    --本周系统BOM汇总记录 SELECT         ITM.SEGMENT1  物料编码, ITM.DESCRIPTION   物料描述, bom2.CREATION_DATE   创建日期, ...

  6. Qt中如何禁掉所有UI操作以及注意事项(处理各个widget的eventFilter这一层,但是感觉不好,为什么不使用QApplication呢)

    刚做完的一个项目,在测试时出现了一个问题:由于多线程的存在,当进行语音识别时:如果用户点击程序界面上的button或者其他接受点击事件后会发出信号的widget时,程序会crash ! 后来尝试着从多 ...

  7. MongoDB Error

    ①,org.springframework.core.convert.ConverterNotFoundException: No converter found capable of     con ...

  8. 一个神奇的bug

    在使用touch命令创建了一个swift文件后,如果用xcode打开该文件,然后输入 #!/usr/bin/env xcrun swift 接着你就会发现,xcode崩溃了.

  9. c++基础 之 面向对象特征一 : 继承

    class Base { public: void f() { cout<<"void f()"<<endl<<endl; } void f(i ...

  10. 让 collabtive-11 支持中文

    collabtive, 不错的项目管理工具, 将在新项目中使用之; 但在默认安装 collabtive-11 之后 发现在里面输入中文后会出错, 网上找不了少资料但对 11这版本的中文支持的修改不起不 ...