本文包含以下内容

前提条件

Controller 机器上必须安装 Azure PowerShell,并且要在 PowerShell 里登录一次 Azure, 请参见:如何安装和配置 Azure PowserShell

如何实现定时关闭虚拟机

配好 Azure PowerShell 以后,就可以用下面这个脚本创建定时关机任务。把下面的代码另存为一个 PowerShell 脚本保存到本地磁盘,比如叫Stop-AzureVMsOnSchedule.ps1

 

<# .synopsis="" creates="" scheduled="" tasks="" to="" stop="" virtual="" machines.="" .description="" creates="" scheduled="" tasks="" to="" stop="" a="" single="" virtual="" machine="" or="" a="" set="" of="" virtual="" machines="" (using="" wildcard="" pattern="" syntax="" for="" the="" virtual="" machine="" name).="" .example="" stop-azurevmsonschedule.ps1="" -servicename="" "myservicename"="" -vmname="" "testmachine1"="" -taskname="" "stopt="" test="" machine="" 1"="" -at="" 5:30pm="" stop-azurevmsonschedule.ps1="" -servicename="" "myservicename"="" -vmname="" "test*"="" -taskname="" "stop="" all="" test="" machines"="" -at="" 5:30pm="" #=""> param(
# The name of the VM(s) to start on schedule. Can be wildcard pattern.
[Parameter(Mandatory = $true)]
[string]$VMName, # The service name that $VMName belongs to.
[Parameter(Mandatory = $true)]
[string]$ServiceName, # The name of the scheduled task.
[Parameter(Mandatory = $true)]
[string]$TaskName, # The name of the "Stop" scheduled tasks.
[Parameter(Mandatory = $true)]
[DateTime]$At
) # The script has been tested on Powershell 3.0
Set-StrictMode -Version 3 # Following modifies the Write-Verbose behavior to turn the messages on globally for this session
$VerbosePreference = "Continue" # Check if Azure Powershell is avaiable
if ((Get-Module -ListAvailable Azure) -eq $null)
{
throw "Azure Powershell not found! Please install from http://www.windowsazure.com/en-us/downloads/#cmd-line-tools"
} # Define a scheduled task to stop the VM(s) on a schedule.
$stopAzureVM = "Stop-AzureVM -Name " + $VMName + " -ServiceName " + $ServiceName + " -Force -Verbose"
$stopTaskTrigger = New-ScheduledTaskTrigger -Daily -At $At
$stopTaskAction = New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument $stopAzureVM
$startTaskSettingsSet = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries $stopScheduledTask = New-ScheduledTask -Action $stopTaskAction -Trigger $stopTaskTrigger -Settings $startTaskSettingsSet # Register the scheduled tasks to start and stop the VM(s).
Register-ScheduledTask -TaskName $TaskName -InputObject $stopScheduledTask

还是刚才那个文件,右键用 PowerShell 运行,按 PowerShell 提示输入四个必要的参数:

  • VMName, 要关闭的 Virtual Machine 名称
  • ServiceName, 关联的服务名称
  • TaskName, 任务名称
  • At,具体操作时间

然后到计划任务列表里就能刷出这个定时关机的任务了,可以测一下:

到指定时间 powershell 开始执行关闭虚拟机的操作。

到 Portal 里验证一下,已经成功关机了.

                     立即访问http://market.azure.cn

使用本地计划任务定时关闭azure虚拟机的更多相关文章

  1. 关闭Azure虚拟机

    Press the Windows key, and then in the Start page, located at the bottom-left, click the Power butto ...

  2. 使用Azure Automation(自动化)定时关闭和启动虚拟机

    1. 概述 作为Windows Azure的用户,使用Azure的过程中,最担心的事情就是还没到月底,预设的费用就快消耗完了(下面两张账单图是我最讨厌看到的).但是仔细分析自己的费用列表,发现绝大部分 ...

  3. Azure Site Recovery 通过一键式流程将虚拟机故障转移至 Azure虚拟机

    Ruturaj Dhekane 云 + Enterprise 项目经理  现在,AzureSite Recovery可以通过其"灾难恢复至 Azure"功能保护您的工作负荷,并 ...

  4. 在 Windows Azure 虚拟机中使用 Microsoft SQL Server 安全功能

    编辑人员注释:本文章由 SQL Server 团队高级项目经理 Sung Hsueh 撰写. SQL Server 的最新用法之一是利用 Microsoft 的 Windows Azure 基础结构服 ...

  5. Kubernetes 1.12公布:Kubelet TLS Bootstrap与Azure虚拟机规模集(VMSS)迎来通用版本号

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/M2l0ZgSsVc7r69eFdTj/article/details/82880341 https: ...

  6. windows 定时任务:schtasks,定时关闭网易云音乐

    大部分属于转载和粘贴. 使用命令:schtasks windows 定时任务   使用样例: 每天定时关闭网易云音乐: 每天22:20关闭网易云音乐: schtasks /create /tn &qu ...

  7. 在 Azure 虚拟机中配置 Always On 可用性组(经典)

    在开始之前,请先假设现在可以在 Azure Resource Manager 模型中完成此任务. 我们建议使用 Azure Resource Manager 模型来进行新的部署. 请参阅 Azure ...

  8. 利用Azure虚拟机安装Dynamics 365 Customer Engagement之六:安装后端服务器

    我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...

  9. 利用Azure虚拟机安装Dynamics 365 Customer Engagement之七:安装前端服务器及部署管理器

    我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...

随机推荐

  1. window环境下安装Python2和Python3

    一.  python 安装 1. 下载安装包 https://www.python.org/ftp/python/2.7.14/python-2.7.14.amd64.msi # 2.7安装包 htt ...

  2. C# 有关系统音量的操作

    需要知道的 调音量是可以快捷键的,还可以用Winmm.dll,但是这个过于复杂了,还有左右声道,我们不需要这么复杂.还有个办法 https://stackoverflow.com/questions/ ...

  3. IOS不支持overflow: hidden;

    IOS不支持overflow: hidden; 假设页面上有个弹出窗,弹出窗出现后,只想让用户的视觉锁定在弹出窗上,正常我们会想到用overflow:hidden这个属性来实现,如下 html{ ov ...

  4. JavaScript的type属性等于text/html 例子

    在使用JavaScript标签<script>的时候,其中type最常用的就是text/javascript 其实这个type还有其他用法,下面直接给出例子: type属性为text/ht ...

  5. 网络编程api bind函数细节 select 细节

    struct sockaddr_in bindaddr; bindaddr.sin_family = AF_INET; bindaddr.sin_addr.s_addr = htonl(INADDR_ ...

  6. pandas to_excel、to_csv的float_format参数设置

    df.to_excel(outpath,float_format='%.2f')

  7. ClouderManger搭建大数据集群时ERROR 2003 (HY000): Can't connect to MySQL server on 'ubuntucmbigdata1' (111)的问题解决(图文详解)

    问题详情 相关问题的场景,是在我下面的这篇博客里 Cloudera Manager安装之利用parcels方式(在线或离线)安装3或4节点集群(包含最新稳定版本或指定版本的安装)(添加服务)(Ubun ...

  8. Java面试题搜集

    这里是一些Java面试题,从"程序员小灰"公众号转载过来,备用. 项目介绍 明确项目是做什么的 明确项目的价值.(为什么做这个项目,它解决了用户什么痛点,它带来什么价值?) 明确项 ...

  9. [Activator-HelloAkka] Create our Actors

    So far we have defined our Actor and its messages. Now let's create an instance of this actor. In Ak ...

  10. js实现CkeckBox全选与反选

    全选与反选 function SelectAll(){ var check = document.getElementsByTagName("input"); // 获取所有inp ...