Azure资源管理工具Azure PowerShell介绍
什么是 Azure PowerShell?
Azure PowerShell 是一组模块,提供用于通过 Windows PowerShell 管理 Azure 的 cmdlet。你可以使用 cmdlet 来创建、测试、部署和管理通过 Azure 平台传送的解决方案和服务。在大多数情况下,这些 cmdlet 可用于执行在 Azure 经典管理门户中可以执行的任务,例如,创建和配置云服务、虚拟机、虚拟网络和 Web 应用。
版本控制的工作原理
Azure PowerShell 使用语义版本控制,这意味着如果版本 A > 版本 B,则版本 A 具有最新的 API。这还意味着主要版本的更改表示一个或多个 cmdlet 中有重大更改。例如,版本 1.7.0 是用于解决 Azure PowerShell 1.x 版本中重大更改问题的修补程序。
有关 Azure PowerShell 中语义版本控制实践的详细信息,请参阅语义版本控制规范:http://semver.org
若要获取最新的 API,应使用版本 2.x。但是,如果针对版本 1.x 编写了脚本,而且不希望吸收 2.x 发行说明中所述的版本 2.x 重大更改,则应安装 1.7.0。
如果已安装配置文件模块的最新版本,并随后加载依赖于它的某个模块的早期版本,则会导致版本不匹配。解决此问题的最简单方法是从最新的 .msi 安装。.msi 会自动清理模块的较旧版本。
并行安装模块版本
版本 2.1.0(以及 AzureStack 版本 1.2.6)是第一个设计为并行安装和使用的模块版本。Azure PowerShell 使用二进制模块,因此,必须打开新的 PowerShell 窗口并使用 Import-Module 来导入 AzureRM cmdlet 的特定版本:
Import-Module AzureRM – RequiredVersion 2.1.0
2.1.0 之前的版本(1.2.6 除外)不能与其他 Azure PowerShell 模块版本并行使用。使用类似如上的命令加载 Azure PowerShell 模块的早期版本时,会加载 AzureRM.Profile 模块的不兼容版本,导致 cmdlet 在每次执行 cmdlet 时要求登录,即使已登录也是如此。
解决此问题的最简单方法是从 WebPI 源或 .msi 安装最新的 Azure PowerShell,这会删除从库安装的模板的早期版本。
请注意,Azure 和 AzureRM 模块拥有共同的依赖项,因此,使用这两个模块时,如果要更新其中的一个模块,则应同时更新两个模块。Azure 模块的早期版本加载并行模块时与 AzureRM 模块的早期版本加载并行模块时遇到的问题一样。
步骤 1:安装
以下是安装 Azure PowerShell 的两种方法。你可以通过 WebPI 或 PowerShell 库进行安装:
从 WebPI 安装 Azure PowerShell
从 WebPI 安装 Azure PowerShell 1.0 和更高版本的方法与安装 0.9.x 版本是一样的。下载 Azure PowerShell 并开始安装。如果安装了 Azure PowerShell 0.9.x,将在升级期间卸载版本 0.9.x。如果从 PowerShell 库安装了 Azure PowerShell 模块,安装程序将在安装之前自动删除这些模块,以确保 Azure PowerShell 环境一致。
Note
如果之前从 PowerShell 库安装了 Azure 模块,安装程序将自动删除这些模块。这是为了防止混淆已安装的模块版本及其所在的位置。PowerShell 库模块通常安装在%ProgramFiles%\WindowsPowerShell\Modules 中。相反,WebPI 安装程序会在%ProgramFiles(x86)%\Microsoft SDKs\Azure\PowerShell 中安装 Azure 模块。如果在安装过程中发生错误,可以手动删除 %ProgramFiles%\WindowsPowerShell\Modules 文件夹中的 Azure* 文件夹,然后重试安装。
安装完成后,$env:PSModulePath
设置中应会有包含 Azure PowerShell cmdlet 的目录。
Note
从 WebPI 安装时,会发生一个有关 PowerShell $env:PSModulePath 的已知问题。如果计算机因系统更新或其他安装而需要重启,有可能会导致更新 $env:PSModulePath 不包含 Azure PowerShell 的安装路径。如果发生这种情况,当你在安装或升级之后尝试使用 Azure PowerShell cmdlet 时,可能会看到“cmdlet 无法识别”消息。如果发生这种情况,重启计算机应该可以解决该问题。
如果尝试加载或执行 cmdlet,会收到如下消息:
PS C:\> Get-AzureRmResource
Get-AzureRmResource : The term 'Get-AzureRmResource' is not recognized as the name of a cmdlet, function,
script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is
correct and try again.
At line:1 char:1
+ Get-AzureRmResource
+ ~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (get-azurermresourcefork:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
这可以通过以下方法更正:重新启动计算机,或者按照以下方式从 C:\Program Files\WindowsPowerShell\Modules\Azure\XXXX\ 导入 cmdlet(其中 XXXX 是所安装 PowerShell 的版本):
import-module "C:\\Program Files\\WindowsPowerShell\\Modules\\Azure\\XXXX\\azure.psd1"
import-module "C:\\Program Files\\WindowsPowerShell\\Modules\\Azure\\XXXX\\expressroute\\expressroute.psd1"
从 PowerShell 库安装 Azure PowerShell
在提升的 Windows PowerShell 或 PowerShell 集成脚本环境 (ISE) 提示符下,使用以下命令从 PowerShell 库安装 Azure PowerShell 1.3.0 或更高版本:
# Install the Azure Resource Manager modules from the PowerShell Gallery
Install-Module AzureRM
# Install the Azure Service Management module from the PowerShell Gallery
Install-Module Azure
有关这些命令的详细信息
- Install-Module AzureRM 为 Azure Resource Manager cmdlet 安装汇总模块。AzureRM 模块依赖于
- 每个 Azure Resource Manager 模块的特定版本范围。包含的版本范围可以确保在安装同一主要版本的 AzureRM 模块时,不包含重大的模块更改。安装 AzureRM 模块时,会从 PowerShell 库下载并安装先前未安装的所有 Azure Resource Manager 模块。有关 Azure PowerShell 模块所用的语义版本控制的详细信息,请参阅 semver.org。
- Install-Module Azure 安装 Azure 模块。此模块是 Azure PowerShell 0.9.x 中的服务管理模块。这应该没有任何重要更改,而且可与前一版本的 Azure 模块互换。
步骤 2:启动
你可以通过标准的 Windows PowerShell 控制台或 PowerShell 集成脚本环境 (ISE) 运行 cmdlet。您用于打开控制台的方法取决于您正在运行的 Windows 的版本:
在至少运行 Windows 8 或 Windows Server 2012 的计算机上,您可以使用内置搜索。从“开始”屏幕,开始键入 power。此时将返回范围内的应用列表,包括 Windows PowerShell。若要打开控制台,请单击任一应用程序。(若要将应用固定到“开始”屏幕,请右键单击图标。)
在运行早于 Windows 8 或 Windows Server 2012 的版本的计算机上,请使用“开始”菜单。在“开始”菜单上,依次单击“所有程序”、“附件”、“Windows PowerShell”文件夹和“Windows PowerShell”。
也可以运行 Windows PowerShell ISE,使用菜单项和键盘快捷方式来执行可在 Windows PowerShell 控制台中执行的许多相同任务。若要使用 ISE,请在 Windows PowerShell 控制台、Cmd.exe 或“运行”框中,键入 powershell_ise.exe。
帮助入门的命令
# To make sure the Azure PowerShell module is available after you install
Get-Module –ListAvailable
# To login to Azure Resource Manager
Login-AzureRmAccount -EnvironmentName AzureChinaCloud
# You can also use a specific Tenant if you would like a faster login experience
# Login-AzureRmAccount -EnvironmentName AzureChinaCloud -TenantId xxxx
# To view all subscriptions for your account
Get-AzureRmSubscription
# To select a default subscription for your current session
Get-AzureRmSubscription –SubscriptionName “your sub” | Select-AzureRmSubscription
# View your current Azure PowerShell session context
# This session state is only applicable to the current session and will not affect other sessions
Get-AzureRmContext
# To select the default storage context for your current session
Set-AzureRmCurrentStorageAccount –ResourceGroupName “your resource group” –StorageAccountName “your storage account name”
# View your current Azure PowerShell session context
# Note: the CurrentStorageAccount is now set in your session context
Get-AzureRmContext
# To list all of the blobs in all of your containers in all of your accounts
Get-AzureRmStorageAccount | Get-AzureStorageContainer | Get-AzureStorageBlob
步骤 3:连接
cmdlet 需要使用你的订阅来管理你的服务。如果你没有 Azure 订阅,可以购买一个。有关说明,请参阅如何购买 Azure。
键入 Login-AzureRmAccount -EnvironmentName AzureChinaCloud
键入与你的帐户关联的电子邮件地址和密码。Azure 将对凭据信息进行身份验证并保存,然后关闭该窗口。
--或者--
登录到你的工作帐户或学校帐户:
$cred = Get-Credential
Login-AzureRmAccount -EnvironmentName AzureChinaCloud -Credential $cred
Note
如果你的组织帐户有多个关联的租户,请指定 TenantId 参数:
$loadersubscription = Get-AzureRmSubscription -SubscriptionName $YourSubscriptionName -TenantId $YourAssociatedSubscriptionTenantId
查看帐户和订阅详细信息
可以拥有多个帐户和订阅以供 Azure PowerShell 使用。可以通过多次运行 Add-AzureRmAccount -EnvironmentName AzureChinaCloud 来添加多个帐户。
若要显示可用的 Azure 帐户,请键入 Get-AzureAccount。
若要显示 Azure 订阅,请键入 Get-AzureRmSubscription。
获取帮助##
这些资源提供特定 cmdlet 的帮助信息:
从控制台内,可以使用内置的帮助系统。Get-Help cmdlet 提供对此系统的访问。
要获得社区中的帮助信息,请尝试以下常见论坛:
了解详细信息
若要详细了解如何使用 cmdlet,请参阅以下资源:
有关使用 Windows PowerShell 的基本说明,请参阅使用 Windows PowerShell。
有关cmdlet的参考信息, 请参阅 Azure 命令行参考.
Azure资源管理工具Azure PowerShell介绍的更多相关文章
- 跨平台数据库工具Azure Data Studio
Azure Data Studio是一种跨平台数据库工具,适用于在Windows,MacOS和Linux上使用Microsoft系列内部部署和云数据平台的数据专业人员.Azure Data Studi ...
- Azure 基础:使用 powershell 创建虚拟机
在进行与 azure 相关的自动化过程中,创建虚拟主机是避不开的操作.由于系统本身的复杂性,很难用一两条简单的命令完成虚拟主机的创建.所以专门写一篇文章来记录使用 PowerShell 在 azure ...
- 使用 Azure 资源管理器向 Windows VM 应用策略
通过使用策略,组织可以在整个企业中强制实施各种约定和规则. 强制实施所需行为有助于消除风险,同时为组织的成功做出贡献. 本文介绍如何使用 Azure 资源管理器策略,为组织中的虚拟机定义所需的行为. ...
- 【Azure 应用服务】使用PowerShell脚本上传文件至App Service目录
问题描述 使用PowerShell脚本上传文件至App Service目录的示例 脚本示例 对文件进行上传,使用的 WebClient.UploadFile 方法进行上传.当文件夹中包含子目录,执行以 ...
- Azure 基础:使用 powershell 创建虚拟网络
什么是虚拟网络 虚拟网络是您的网络在 Azure 云上的表示形式.您可以完全控制虚拟网络的 IP 地址.DNS 的设置.安全策略和路由表.您还可以更进一步,把虚拟网络划分为多个子网.然后用它们连接您的 ...
- Azure 基础:用 PowerShell 自动发布 CloudServices
在软件的开发过程中,自动化的编译和部署能够带来很多的优势.下面我们聊聊如何自动发布云应用程序到 azure 上的 cloud services. 打包要发布的内容 首先使用 msbuild 编译 *. ...
- 微软推 Azure 机器学习工具:Algorithm Cheat Sheet
微软推 Azure 机器学习工具:Algorithm Cheat Sheet [日期:2015-05-15] 来源:CSDN 作者:Linux [字体:大 中 小] Azure Machine ...
- Azure Cosmos DB (一) 入门介绍
一,引言 今天是国庆.中秋双节房价的第三天,今天抽时间分享一篇关于使用Azure 提供的一项NoSql 服务-----Azure Cosmos DB.就有人问了,我听说过 MongoDB.Redis ...
- 【Azure Developer】调用SDK的runPowerShellScript方法,在Azure VM中执行PowerShell脚本示例
当需要通过代码的方式执行PowerShell脚本时,可以参考以下的示例. Azure SDK中提供了两个方法来执行PowerShell脚本 (SDK Source Code: https://gith ...
随机推荐
- 计时器 vb
十分钟 我们寒假就是这么长!! vb 执行cmd : shell "cmd /c DOS命令" vb 取系统日期: Print Date; " ...
- html5 滚动小球
<html> <head> <meta charset="utf-8"/> </head> <body onkeydown=& ...
- vs缩进多行,vs2013测试可用
vs缩进多行,vs2013测试可用 选中要缩进的行,然后点击tab会直接在选中行增大缩进 快捷键 功能 描述 tab 增大缩进 选中要缩进的行,可多行 shift + table 减小缩进 选中要缩进 ...
- Flutter实战视频-移动电商-63.购物车_详细页显示购物车商品数量
63.购物车_详细页显示购物车商品数量 购物车的图标嵌套在statck组件里面 外层套了一个stack组件 数量我们需要用Provide 返回一个container来做样式 气泡效果,中间是个数字外面 ...
- UVa 10723 Cyborg Genes (LCS, DP)
题意:给定两行字符串,让你找出一个最短的序列,使得这两个字符串是它的子串,并且求出有多少种. 析:这个题和LCS很像,我们就可以利用这个思想,首先是求最短的长度,不就是两个字符串长度之和再减去公共的么 ...
- Cocos2d-x 屏幕适配新解(比较全面比较详细)
本文出自 [无间落叶]原文地址:http://blog.leafsoar.com/archives/2013/05-10-19.html 为了适应移动终端的各种分辨率大小,各种屏幕宽高比,在 coco ...
- lightoj 1027【数学概率】
#include <bits/stdc++.h> using namespace std; typedef long long LL; const int N=1e2+10; int ma ...
- atcoder057D(组合数模板)
题目链接:http://abc057.contest.atcoder.jp/tasks/abc057_d 题意:给出n个数,可以选择x~y个数,使其平均值最大,求其最大平均数以及选择方案数. 思路:只 ...
- [Xcode 实际操作]九、实用进阶-(9)陀螺仪设备的使用
目录:[Swift]Xcode实际操作 本文将演示陀螺仪设备的使用. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] import UIKit //导入需要用到的C ...
- PJzhang:互联网是有国界
猫宁!!! 参考链接:https://mp.weixin.qq.com/s/NFgps_5HBpl3ZjDoR5w8XA 上世纪90年代,互联网开始崛起,美国凭借超级大国的地位,先进技术优势,以美国公 ...