使用 PowerShell 自动登录 Azure

PowerShell 是管理 Azure 的最好方式之一,通过使用 PowerShell 脚本可以把很多的工作自动化。比如对于 Azure 上的虚拟机,可以设置定时关机操作,并在适当的时间把它开机,这样就能减少虚拟机的运行时间,同时也能为节能减排做出贡献。

PowerShell 的 Azure 模块中为我们提供了不同的 API, 早期的 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.")

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

时间: 2024-08-01 16:12:04

使用 PowerShell 自动登录 Azure的相关文章

使用 PowerShell 自动登录Azure

PowerShell 是管理 Azure 的最好方式之一,通过使用 PowerShell 脚本可以把很多的工作自动化.比如对于 Azure 上的虚拟机,可以设置定时关机操作,并在适当的时间把它开机,这样就能减少虚拟机的运行时间,同时也能为节能减排做出贡献. PowerShell 的 Azure 模块中为我们提供了不同的 API, 早期的 API 叫 ASM(Azure Service Manager).随着 Azure 的发展变化,又出现了一套新的 API 叫 ARM(Azure Resourc

Azure 基础:用 PowerShell 自动登录

PowerShell 是管理 Azure 的最好方式,因为我们可以使用脚本把很多的工作自动化.比如把 Azure 上的虚拟机关机,并在适当的时间把它开机,这样我们就能节省一些开支,当然我们同时也为减少二氧化碳的排放做出了贡献! PowerShell 的 Azure 模块中为我们提供了不同的 API, 早期的叫 ASM(Azure Service Manager).随着 Azure 的发展变化,又出现了一套新的 API 叫 ARM(Azure Resource Management).我们这里仅介

CentOS 7.2 PowerShell下安装Azure Module

目前Linux版本的PowerShell还是Alpha版本,所以很多功能不能使用. 比如通过Powershell命令:install-module AzureRM在线安装Azure的Module.但我们可以通过变通的方式实现对Azure组件的安装: 1. 如前文中所述,安装PowerShell,或者在下载rpm安装包后,用yum安装: yum install ./powershell-6.0.0_alpha.9-1.el7.centos.x86_64.rpm 2. 安装完成后,创建PowerSh

[Python爬虫] Selenium实现自动登录163邮箱和Locating Elements介绍

目录(?)[+] 前三篇文章介绍了安装过程和通过Selenium实现访问Firefox浏览器并自动搜索"Eastmount"关键字及截图的功能.而这篇文章主要简单介绍如何实现自动登录163邮箱,同时继续介绍Selenium+Python官网Locating Elements部分内容.        希望该篇基础性文章对你有所帮助,如果有错误或不足之处,请海涵~        [Python爬虫] 在Windows下安装PhantomJS和CasperJS及入门介绍(上)        

Filter自动登录

Dao层略过 Domain略过 Service层过 Web层 Select逻辑 获取表单数据,Web-service--Dao返回用户信息 如果返回不为null否则,重定向到登录页面.则判断用户是否勾选7天免登录,如果勾选(判断一下).把用户数据存入session域中,并且要创建一个cookie设置时间为7天,保存cookie中.  select代码: public void doGet(HttpServletRequest request, HttpServletResponse respon

python自动化,自动登录并且添加一个门店

''' 本文主要通过以前公司的对外平台,测试自动登录并且自动添加一个门店 ''' # _*_ coding: utf-8 _*_ from selenium import webdriverimport timedriver = webdriver.Chrome()driver.maximize_window()driver.get("http://121.41.42.104:18888")driver.find_element_by_name("UserName"

windows2008r2设置开机后用户自动登录

因为有些程序在计划任务中设置开机就启动以后,当登录帐号时无法将已经运行的程序切换到前台进行操作(就是无法在桌面上显示软件的界面,比如我这里需要使用的<vm虚拟机>.<v-box虚拟机>和<typsoft ftp服务器>这几个软件),想了一下,感觉可以通过设置开机自动登录帐号后再启动程序的方法解决,于是在网上找了下设置的方法: 设置开机自动用户登录 开始>运行 control userpasswords2 ,出现(如图1),选择要自动登录的用户账户,然后将"

黑马day14 过滤器之自动登录小案例

自动登录分析: 如果是第一次登陆就把user放到session域中,同时建立一个cookie把用户名和密码保存到cookie中,然后写一个过滤器, 如果是未登录的状态就把cookie中把用户名和密码拿出来和数据库中查询的作比较,如果一致就把user设置到session域中. 1.登陆页面login.jsp <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%&

关于新浪微博注销后自动登录的问题

最近程序中需要做分享功能,腾讯的的OK,但新浪的注销后,再次点击时,本来应该进入到登录的授权页面,webview形式出现.但结果每次再进入时,会自动登录上次注销的号. 查了相关资料后,发现有两种解决办: 1: 因为只清除了登录数据,但是uiwebview的cookie仍然保留在本地,所以需要清除uiwebview的cookie内容,清除方式如下: NSHTTPCookie *cookie;    NSHTTPCookieStorage *storage = [NSHTTPCookieStorag