Skip to main content

PowerShell Az模块介绍

分类:  Azure指南 标签:  #Azure #基础 #Azure Cloud Architecting #Azure入门 发布于: 2023-05-28 10:13:13

PowerShell 是一种跨平台的任务自动化解决方案,由命令行 shell、脚本语言和配置管理框架组成。 PowerShell 在 Windows、Linux 和 macOS 上运行。

Shell

PowerShell 是新式命令 shell,其中包括其他常用 shell 的最佳功能。 与大多数仅接受并返回文本的 shell 不同,PowerShell 接受并返回 .NET 对象。 shell 包括以下功能:

  • 可靠的命令行历史记录
  • Tab 自动补全和命令预测(请参阅 about_PSReadLine)
  • 支持命令和参数[别名][]
  • 用于链接命令的[管道][]
  • 控制台内[帮助][]系统,类似于 Unix man 页面

脚本语言

作为一种脚本语言,PowerShell 通常用于自动执行系统管理。 它还用于经常在 CI/CD 环境中生成、测试和部署解决方案。 PowerShell 是在 .NET 公共语言运行时 (CLR) 上构建的。 所有输入和输出都是 .NET 对象。 无需分析文本输出即可从输出中提取信息。 PowerShell 脚本语言包含以下功能:

  • 可通过[函数][]、[类][]、[脚本][]和[模块][]进行扩展
  • 便于输出的可扩展[格式系统][formatting]
  • 用于创建动态类型的可扩展[类型系统][types]
  • 对常用数据格式(例如 [CSV][]、[JSON][] 和 [XML][])的内置支持

配置管理

PowerShell Desired State Configuration ([DSC][]) 是 PowerShell 中的一个管理框架,可让你使用“配置即代码”来管理企业基础结构。 借助 DSC 可以:

  • 为可重复部署创建声明性[配置][]和自定义脚本
  • 强制执行配置设置并报告配置偏移
  • 使用[推送或请求][push-pull]模型部署配置

Azure Powershell

Powershell 模块 Az 为PowerShell提供了管理Azure资源的模块和能力, 同时需要注意的是Az模块取代了老的AzureRM模块。

安装

要使用Az模块,我们先需要安装PowerShell, 建议先升级安装PowerShell到7系列。

Windows

直接从这里下载:https://aka.ms/powershell-release?tag=stable, 选择MSI直接安装就好了。

Linux

如下是选择ubuntu 20.04作为操作系统来安装:

# Update the list of packages
sudo apt-get update
# Install pre-requisite packages.
sudo apt-get install -y wget apt-transport-https software-properties-common
# Download the Microsoft repository GPG keys
wget -q https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb
# Register the Microsoft repository GPG keys
sudo dpkg -i packages-microsoft-prod.deb
# Update the list of products
sudo apt-get update
# Enable the "universe" repositories
sudo add-apt-repository universe
# Install PowerShell
sudo apt-get install -y powershell
# Start PowerShell
pwsh

其他发现版的安装,可以从这个页面上来找到安装方法:https://docs.microsoft.com/zh-cn/powershell/scripting/install/installing-powershell-core-on-linux?view=powershell-7.1

安装Azure PowerShell(Az模块)

PowerShell安装之后,我们还需要安装Azure PowerShell, 也即Az模块,如果您之前已经使用了AzureRM模块,那么请参考文档:https://docs.microsoft.com/zh-cn/powershell/azure/new-azureps-module-az?view=azps-6.3.0#migrate-existing-scripts-from-azurerm-to-az

我们这里仅仅介绍新安装Az模块。

您可以采用如下几种方式来安装Az

使用PowerShellGet来安装

请先确保您已经安装了PowerShell, 安装好,请启动Powershell, 在windows下可以直接运行pwsh, 来启动,或者直接启动Windows Terminal, 启动PowerShell之后,先检查PowerShell的版本:

$PSVersionTable.PSVersion

更改PowerShell运行的安全规则:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

然后使用如下的命令来安装Az模块

Install-Module -Name Az -Scope CurrentUser -Repository PSGallery -Force

使用MSI包离线安装

如果直接使用上述从线上安装有困难,那么可以考虑下载MSI包直接安装,从这里下载:https://github.com/Azure/azure-powershell/releases

基本使用方法

安装好之后,我们先和Azure Cli一样也要设定默认的云环境:

Login-AzAccount -EnvironmentName AzureChinaCloud

这里选择登录的是Azure China, 如果要登录Azure Global, 则无需加任何参数就可以了。

设定默认的订阅:

Get-AzSubscription
Set-AzContext -SubscriptionId <Sub Id>

这样就设定了好了需要登录的云环境,也登录并设定了默认的订阅。