在我们日常管理中,最常见的就是管理员通过计划任务定时启动一个脚本,在这一小节中,我们来看看如何通过Windows计划任务设定一些基本任务

如何开启一个Windows计划任务呢,下面看看具体的步骤:

1、  通过如下步骤打开Windows计划任务(windows Server 2012 R2),服务器管理器à工具à任务计划程序

wKioL1TW4fuQcifDAARlecQDHII391.jpg

任务计划面板

wKiom1TW4QuBxcYAAAOZ8_4cNNU738.jpg

2、  点击操作栏中的创建基本任务

3、  在名称框中输入计划任务的可辨别名称,点击下一步

wKioL1TW4fvi-FklAAGi0wgRl44646.jpg

4、  设定任务触发器频率,下一步

wKiom1TW4QvQT_42AAFwfo5exP0625.jpg

5、设定每天的频率,可以一天运行多次,点击下一步

wKioL1TW4fzzs_kSAAFZAWgq6SY596.jpg

6、在这里选择启动程序,下一步

wKiom1TW4QuB7a23AAFQbYvsjAI940.jpg

7、  在程序和脚本浏览到我们的批处理文件,点击下一步

wKioL1TW4fzCSp0DAAFr8A942Q4751.jpg

批处理文件如下:

wKiom1TW4Qui8rxsAACdE7Oz7vo222.jpg

PS1文件信息如下:

wKioL1TW4fzjkQcdAAJymi7IRs0333.jpg

8、  点击完成,完成基本任务的创建

wKiom1TW4QyC7GkvAAHG0Upezw0555.jpg

9、  看看计划任务中的计划程序,我们先来手动运行看看结果

wKiom1TW4SbimfesAAN39wpAhJ8994.jpg

10、  手动运行下脚本,右键à运行

wKioL1TW4hfRy5LeAAG2yZFQwD4568.jpg

11、  查看结果信息,可以看到计划任务已经做了相应的操作

wKiom1TW4SfjY5w_AAQCpEBabPo810.jpg

上面的示例是通过批处理调用PowerShell,然后在PowerShell中调用Exchange命令进行运行的,下面直接通过运行PowerShell脚本测试看看效果:

下面新建一个任务计划

wKioL1TW4hfSUpE3AAGMmichnNQ812.jpg

其它步骤基本相同,然后到了这一步,程序和脚本中输入如下命令:

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -command ". 'C:\Program Files\Microsoft\Exchange Server\V15\bin\RemoteExchange.ps1'; Connect-ExchangeServer -auto; c:\Script\Report02.ps1"

wKiom1TW4SfwHqlaAAGVy_3FWL8062.jpg

点击下一步会弹出如下提示框,点击

wKioL1TW4hfxSutHAAFDl8xTzkw975.jpg

点击“完成完成基本计划任务的创建

wKiom1TW4SfBpU9lAAHebHx6BNg112.jpg

完成基本任务的创建后,我们手动运行下任务可以收到电子邮件了:

wKioL1TW4hjhR80pAAQT2lonNjs642.jpg

这些脚本是如何工作的呢?

在本例中,试用的语句比较多,看起来有点奇怪。我们实际要做的就是调度PowerShell.exe然后使用-Command参数去执行多个语句。这里我们应该注意到,脚本有多行以及每个语句使用分号隔开。

我们做的第一件事就是定位到Exchange服务器bin目录下的RemoteExchange.ps1文件,这个文件初始化一些Exchange Shel变量和导入Exchange特殊功能。

下一行的脚本使用使用Connect-ExchangeServer调用参数-Auto连接Exchange服务器,允许从本地AD站点中最好的Exchange服务器加载Exchange Management Shell环境。

最好,通过Exchange Management Shell执行我们的指定的脚本文件。

当使用这种方法时,确保计划任务运行账户拥有Exchange组织管理访问的权限。同样,当服务器启用了用户账户控制(UAC)时,你可能需要在计划任务选项中,启用最高权限运行计划任务,同时,我们也希望启用不管用户是否登陆都要运行,如下图:

wKiom1TW4SiSk_DTAAJhkmoAgHo870.jpg

更多计划任务示例:

在前面的示例中,我们都是在安装有Exchange管理工具的服务器上运行的。那么如何在一台工作组或者没有安装管理工具的服务器上远程运行脚本呢?答案是可以的,我们只需要在一台有PowerShell v2及更高版本的计算机上就可以运行。

基本语法如下:

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -command "$s= New-PSSession –ConfigurationName Microsoft.Exchange -ConnectionUri http://mbx01.corp.robin.com/PowerShell/; Import-PSSession $s ; c:\Script\Report02.ps1"

上面的命令只需要我们在创建计划任务的时候,在程序和脚本框中填入以上脚本即可!