[New Portal]Windows Azure Virtual Machine (16) 使用Azure PowerShell创建Azure Virtual Machine
《Windows Azure Platform 系列文章目录》
注:本章内容和之前的[New Portal]Windows Azure Virtual Machine (12) 在本地制作操作系统VHD并上传至Azure (2) 类似,建议读者先预习相关的内容。
Update 2015-09-01
发现一个新的命令。可以不需要导入PublishSetting文件。
如果你使用的是国内由世纪互联运维的Azure China,请在PowerShell输入命令:
Add-AzureAccount -Environment AzureChinaCloud
如果你使用的是国外的Azure Global,请在PowerShell输入命令:
Add-AzureAccount
注意:我们在步骤3中下载的publishsettings这个文件,需要非常小心的保存。
笔者建议在导入完毕后,直接删除这个publishsettings文件,防止被不坏好意的人重复利用。
=====================================这里是分隔符============================================
之前给大家介绍很多关于Windows Azure的内容,基本上都是通过Windows Azure Management Portal来创建的。这种创建方式虽然直观简单,但是如果IT管理员需要同时创建1000台Azure服务的话,工作的代价是非常巨大的。
其实我们可以通过Windows Azure PowerShell,通过命令行的方式来管理Windows Azure。这样在进行诸如批量创建Azure Virtual Machine的操作会变得非常简单。接下来就开始本章内容。
1.首先请安装Windows Azure PowerShell,地址在http://go.microsoft.com/?linkid=9811175&clcid=0x409,下载完毕后通过Web Installer安装。
2.安装完毕后,以管理员身份运行Azure PowerShell。如下图:
3.如果你是第一次运行Azure PowerShell。我们要在本地创建证书文件。以便本地计算机和Azure建立可靠的安全连接。请在Azure PowerShell输入以下命令:
Get-AzurePublishSettingsFile
4.这时候计算机会弹出新的IE窗口,导航至Windows Azure。并要求我们输入登陆Azure的用户名和密码并登陆。
5.登陆完毕后,系统会要求我们保存扩展名为publishsettings的文件,我们保存至本地计算机的磁盘上。如下图:
6.然后我们回到Azure PowerShell窗口,继续输入以下命令:
Import-AzurePublishSettingsFile <PathToFile>
PathToFile就是我们保存步骤5中扩展名为publishsettings的文件位置(文件路径+文件名),比如我将该文件保存至D盘根目录,我们就输入以下命令:
Import-AzurePublishSettingsFile 'D:\Windows Azure MSDN - Visual Studio Ultimate-7-2-2013-credentials.publishsettings'
上面的命令实际上是将本地的publishsettings文件上传至Azure的Management Certificates。我们可以打开Azure Management Portal。点击Settings,并选择Management Certificates,查看上传的publishsettings文件。如下图:
7.这样,本地计算机就和Azure建立了可靠安全的链接了。在不删除上传的Management Certificates情况下,下次运行Azure PowerShell将不必再次运行上面的运行。接下来可以运行我们的命令了。
8.我们首先运行命令:help azure,来看看Windows Azure提供了哪些命令行。我只截取了部分内容,如下图:
在上图中我们可以看到,Azure PowerShell提供了非常多的命令。比如我们之前讲解过的Add-AzureVhd等等。
9.然后我们再运行命令:Get-AzureVMImage,这条命令是列出所有的Azure Virtual Machine镜像,其中包含Windows 和 Linux的。我只截取了部分内容,如下图:
10.如果我只想获得其中某一个镜像的名称,我可以输入命令:(Get-AzureVMImage)[20].ImageName
上面的命令中,20表示所有Azure VM Image中第21个Image的名称,该镜像是Windows Server 2012 Datacenter。为什么不是第20个呢?是因为一般队列中,第一位的次序是0.
这个镜像其实就是我们在Management Portal选择的Windows Server 2012 Datacenter镜像。
11.如果我想通过Azure PowerShell新建Virtual Machine
-VM Name为LeiAzureVM
-VM Size为ExtraSmall
-VM Image为Windows Server 2012 Datacenter
-Windows用户名为leizhang,密码为Pass@word1
-DNS Name为LeiAzure
-数据中心选择East Asia
则这个PowerShell命令为
New-AzureVMConfig -Name 'LeiAzureVM' -InstanceSize 'ExtraSmall' -ImageName (Get-AzureVMImage)[].ImageName ` | Add-AzureProvisioningConfig -Windows -AdminUsername 'leizhang' -Password 'Pass@word1' ` | New-AzureVM -ServiceName 'LeiAzure' -Location 'East Asia'
运行结果,如下图:
我们在PowerShell中看到Create Succeeded,其实创建Azure VM的过程是异步的。这时候我们查看Azure Management Portal,发现VM正在被创建。如下图:
因为PowerShell没办法知道后台的Azure VM什么时候创建结束,所以我们需要通过Azure Management Portal查看结果。
Update 2014-4-14
来创建个更加复杂的Azure Virtual Machine
- DNS Name为LeiAzureVM
- 显示名称为LeiVM
- VM Size为A7 (8Core/56GB)
- VM Image为Windows Server 2012 DataCenter 201403.01-en.us
- Windows用户名为leizhang,密码为Pass@word1
- storage account为leizhangstorage
- 地缘组为EastAsiaGroup
- 虚拟网络为 leizhangVNet ,子网为Subnet-1
首先我们指定默认的存储,在Powershell输入以下命令:
Set-AzureSubscription -SubscriptionName 'Visual Studio Ultimate with MSDN' -CurrentStorageAccount 'leizhangstorage'
然后我们输入以下命令:
$vm = New-AzureVMConfig -Name 'leiVM' -InstanceSize A7 -ImageName (Get-AzureVMImage)[46].ImageName $vm | Add-AzureProvisioningConfig ` -Windows ` -AdminUsername 'leizhang' ` -Password 'Pass@word1' $vm | Set-AzureSubnet -SubnetNames 'Subnet-1' $vm | New-AzureVM -ServiceName 'LeiAzureVM' -AffinityGroup 'EastAsiaGroup' -VNetName 'leizhangVNet'
执行结果,如下图:
[New Portal]Windows Azure Virtual Machine (16) 使用Azure PowerShell创建Azure Virtual Machine的更多相关文章
- 【Azure Developer】使用Java SDK代码创建Azure VM (包含设置NSG,及添加数据磁盘SSD)
在参考Azure官方文档进行VM创建时,发现其中没有包含如何设置NSG的内容,以及如何在创建时就添加数据磁盘的代码(设置磁盘为SSD类型).本文的内容以"使用 Java 创建和管理 Azur ...
- 使用 PowerShell 创建 Azure VM 的自定义映像
自定义映像类似于应用商店映像,不同的是自定义映像的创建者是你自己. 自定义映像可用于启动配置,例如预加载应用程序.应用程序配置和其他 OS 配置. 在本教程中,你将创建自己的 Azure 虚拟机自定义 ...
- Azure ARM (22) 使用Azure PowerShell创建Azure RM VM
<Windows Azure Platform 系列文章目录> 在Azure China获得VM Image,可以执行下面的脚本. Get-AzureRmVMImagePublisher ...
- 使用PowerShell创建Azure Storage的SAS Token访问Azure Blob文件
Azure的存储包含Storage Account.Container.Blob等具体的关系如下: 我们常用的blob存储,存放在Storage Account的Container里面. 目前有三种方 ...
- [New Portal]Windows Azure Virtual Machine (22) 使用Azure PowerShell,设置Virtual Machine Endpoint
<Windows Azure Platform 系列文章目录> 我们可以通过Windows Azure Management Portal,打开Virtual Machine的Endpoi ...
- Docker Machine 管理-创建machine(16)
对于 Docker Machine 来说,术语 Machine 就是运行 docker daemon 的主机.“创建 Machine” 指的就是在 host 上安装和部署 docker.先执行 doc ...
- Azure PowerShell (5) 使用Azure PowerShell创建简单的Azure虚拟机和Linux虚拟机
<Windows Azure Platform 系列文章目录> 本文介绍的是国外的Azure Global.如果是国内由世纪互联运维的Azure China,请参考这篇文档: Azure ...
- 如何使用Visual Studio 2013 创建Azure云应用
创建 Azure 云服务 Azure 云服务包括执行应用程序所需操作的角色.当你将云服务发布到 Azure 时,每个角色将在云中的虚拟机上运行.有关如何开发 Azure 云服务的详细信息. 创建 Az ...
- [New Portal]Windows Azure Virtual Machine (23) 使用Storage Space,提高Virtual Machine磁盘的IOPS
<Windows Azure Platform 系列文章目录> 注意:如果使用Azure Virtual Machine,虚拟机所在的存储账号建议使用Local Redundant.不建议 ...
随机推荐
- linux-11 基本命令之 -工作期目录切换命令-pwd,cd,
pwd 命令用于显示当前的工作目录,格式为:pwd[选项] @1.查看当前的工作路径: [root@localhost /]# pwd cd 命令用于切换工作路径 格式为:"cd 目录名称& ...
- Android Scroll分析——滑动效果产生
相对于在Android2.x版本上出现的长按.点击事件的效果,不得不说,滑动操作具有更好的用户体验.因此,从Android 4.X版本开始,出现了更多滑动操作的效果.越来越多第三方应用模仿这样的效果, ...
- 字符串反混淆实战 Dotfuscator 4.9 字符串加密技术应对策略
因为手头需要使用一个第三方类库,网络上又找不到它的可用的版本,于是只好自己动手.这个类库使用了Dotfuscator 加密,用.NET Reflector加载程序集, 看到的字符串是乱码,如下面的代码 ...
- [WPF实用技巧]如何使WPF的TreeView节点之间有连线
示例代码:TreeViewEx.zip 原文地址:http://www.codeproject.com/Tips/673071/WPF-TreeView-with-WinForms-Style-Fom ...
- httpclient瓶颈
问题现象: 1.系统异常,应用拒绝访问. 2.web容器线程爆满 问题分析: 1.数据库正常 2.日志信息没有异常 问题思考: 1.应用访问量突破顶峰. 2.应用在某处存在瓶颈 发现问题: 需要了解线 ...
- [.net 面向对象编程基础] (16) 接口
[.net 面向对象编程基础] (16) 接口 关于“接口”一词,跟我们平常看到的电脑的硬件“接口”意义上是差不多的.拿一台电脑来说,我们从外面,可以看到他的USB接口,COM接口等,那么这些接口的目 ...
- ubuntu 13.04下MYSQL 5.5环境搭建
解决的问题: 安装mysql server和mysql client 5.5 新建远程账户 远程访问权限 MYSQL默认字符集修改为UTF8 检查防火墙 一.安装 BTW:可以使用查找命令查看安装包 ...
- Knockout JS实现任务管理应用程序
1.1.1 摘要 在博文<Ember.js实现单页面应用程序>中,我们介绍了使用Ember JS实现一个单页应用程序 (SPA),这使我想起了几年前写过一个任务管理程序,通过选择日期,然后 ...
- 跨站脚本攻击XSS
跨站脚本攻击(Cross Site Script为了区别于CSS简称为XSS)指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到 ...
- Vue的一个陷阱
最近做项目,上线前一直有个bug,不知道是什么原因引起的, vm.$set('needVerification', true); $('.verification-button').prop('dis ...