Azure 基础:用 PowerShell 自动登录

news/2024/7/7 21:35:16

PowerShell 是管理 Azure 的最好方式,因为我们可以使用脚本把很多的工作自动化。比如把 Azure 上的虚拟机关机,并在适当的时间把它开机,这样我们就能节省一些开支,当然我们同时也为减少二氧化碳的排放做出了贡献!

PowerShell 的 Azure 模块中为我们提供了不同的 API, 早期的叫 ASM(Azure Service Manager)。随着 Azure 的发展变化,又出现了一套新的 API 叫 ARM(Azure Resource Management)。我们这里仅介绍如何使用 ARM 中的 API 实现自动登录并且操作 Azure 上的资源。

使用 PowerShell 自动登录 Azure 的大体思路是这样的:首先使用登录命令在交互式界面下进行登录操作,然后使用 Save-AzureRmProfile 命令把你的登录认证信息保存到本地的文件中。以后在脚本中进行自动登录时,只要使用这个本地文件就可以了。下面让我们来看看具体的操作过程。

使用 Login-AzureRmAccount 命令登录

在登录前先检查一下当前的登录状态,我们通过查询 Resource Group 来间接的进行。
执行命令:Get-AzureRmResourceGroup

因为没有登录,查询失败并提示我们进行登录。

执行命令:Login-AzureRmAccount
通过弹出的对话框登录:

登录成功后会显示你的账户信息:

好了现在让我们再来执行一次 Get-AzureRmResourceGroup 命令。

之前的错误信息已经没有了,输出的结果为 Resource Group 的列表。

把登录信息保存到文件中

Save-AzureRmProfile 命令能够把当前 session 的登录信息保存到文件中,在其他的 session 中就可以使用这个文件进行自动登录。
执行命令:Save-AzureRmProfile -Path “d:\test\myprofile.json”
myprofile.json 是一个普通的文本文件,只有认证信息被加密了,其它的信息都是可读的。

注意,一定要保护好生成的 myprofile.json 文件,如果泄露出去和别人拿到你的账户密码是一样的。

自动登录 Azure

Select-AzureRmProfile 命令从文件中载入用户的登录信息并且设置 Azure 的执行上下文。
Select-AzureRmProfile –Path “d:\test\myprofile.json”
执行结果和我们运行 Login-AzureRmAccount 命令是一样的:

一个自动重启虚拟机的例子

我们通过重启 Azure 上的一台虚机来完成一个完整的例子:

$profile = "your profile path"
$resourceGroupName = "your resource group name"
$vmName = "your vm name"
$logfile = "log file name"
# 自定义日志方法
Function LogWrite
{
    Param ([string]$logstring)
    $now = Get-Date
    $logcontent = $now.ToShortDateString() + " " + $now.ToShortTimeString() + ": " + $logstring    
    Add-Content $logfile -value $logcontent
}

LogWrite("before Select-AzureRmProfile.")
Select-AzureRmProfile -Path $profile
LogWrite("after Select-AzureRmProfile.")

LogWrite("before Restart-AzureRmVM.")
Restart-AzureRmVM -ResourceGroupName $resourceGroupName -Name $vmName
LogWrite("after Restart-AzureRmVM.")

好了,一个简单的自动化工作就完成了!

转载于:https://www.cnblogs.com/sparkdev/p/6358266.html


http://www.niftyadmin.cn/n/3620855.html

相关文章

LeetCode 第657题 机器人能否返回原点

在二维平面上,有一个机器人从原点 (0, 0) 开始。给出它的移动顺序,判断这个机器人在完成移动后是否在 (0, 0) 处结束。移动顺序由字符串表示。字符 move[i] 表示其第 i 次移动。机器人的有效动作有 R(右),L&#xff08…

爱因斯坦难题

爱因斯坦曾经提出过这样一道有趣的数学题:有一个长阶梯,若每步上2阶,最后剩下1阶;若每步上3阶,最后剩2阶;若每步上5阶,最后剩下4阶;若每步上6阶,最后剩5阶;只…

laravel5.1 使用队列发送邮件

为什么80%的码农都做不了架构师?>>> 首先在.env文件下设定队列的驱动 QUEUE_DRIVER databaselaravel5.1提供了6种驱动,sync,databse,beanstalkd,sqs,iron,redis具体可以在官方手册查阅. 本次选用database作为驱动 php cli下执行 php artisan queue:tab…

P5676 [GZOI2017]小z玩游戏(tarjan+虚点优化建图)

LINK 若存在w[v]%e[u]0w[v]\%e[u]0w[v]%e[u]0 说明玩完游戏uuu马上可以玩游戏vvv,我们连上一条uuu到vvv的边 那么游戏能玩两次以上相当于在这个有向图中处于一个环,可以玩无限多次 直接上tarjantarjantarjan找环即可 但是这样连边是O(n2)O(n^2)O(n2)的,需要优化 我们建立…

『ACM C++』 Codeforces | 1003C - Intense Heat

今日兴趣新闻: NASA 研制最强推进器,加速度可达每秒 40 公里,飞火星全靠它 链接:https://mbd.baidu.com/newspage/data/landingsuper?context%7B"nid"%3A"news_11707429683828231737"%7D&n_type0&p_…

其实这是一种生活方式【转载】

转载自公众号:心里话 原题为:你为什么越过越穷这篇文章的确特别的心灵鸡汤,但是每个人都有自己中意的生活方式,谁也不能按照自己的生活标准来要求别人,相比而言,这一篇更像是在向人们展示另一种生活姿态&a…

HDU5294 Tricks Device(最大流+最短路)

题目链接 一个无向图,走最短路从起点走到终点,问最少需要删除多少边使得其不能从起点走到终点,问最多删除多少点使得其能走到终点。 思路: 最大流最短路 先求出所有在最短路上的边,对这些边重建图。将其权值改为1&…

P3119 [USACO15JAN]Grass Cownoisseur G(tarjan+dp)

LINK 先缩点,在DAGDAGDAG上跑最长路可以得到dis[v]dis[v]dis[v] 表示111号点的联通分量到vvv连通分量最多走多少草坪 当走到uuu点时使用反向机会走到点vvv,其中vvv一定是能到达点111所属的连通分量的 所以以111所在联通分量为起点,终点分别跑一次最长路 然后枚举那个中转点…