- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
定时关机方案
定时关机方案
tanzhenchao@
定时关机方案 1
制作关机脚本 1
给脚本签名 2
制作签名证书 2
签名前的准备工作 2
使用“makecert.exe”证书制作工具 3
验证代码签名证书 4
查看预期目的为代码签名的证书 4
选择刚才创建的证书: 4
设置证书信任 4
检查证书是否受信任 4
将该证书复制到受信任的存储区 5
确认证书是否受信任 6
Powershell 脚本签名 7
脚本签名 7
检查是否已经签名 7
计划任务调用脚本 8
配置身份验证 15
定时关机方案
制作关机脚本
以下脚本另存为“shu.ps1”,放置在“C:\scripts\”目录下。
------------------------------------------------------------------------------------------------------
#$names定义要关闭的主机IP地址列表文件,文件的格式为“xxx.xxx.xxx.xxx”
$names = get-content d:\computers.txt
#$time定义关机等待时间,单位为秒
$time = 900
#$dir定义日志文件的保存目录
$dir = d:\
foreach($name in $names)
{
$date = Get-Date
$sdate = $date.ToString(G)
$logPath = $dir + $date.ToString(yyyy-MM-dd) + -shu.log
$eLogPath = $dir + $date.ToString(yyyy-MM-dd) + -err_shu.log
if(test-connection $name)
{
$r = shutdown /s /t $time /c 此计算机将被管理员执行关机计划! -m \\$name
if($r = 1)
{
echo $sdate \\$name,已被管理员执行关机计划! $logPath
}
else
{
echo $sdate \\$name,此计算机执行关机计划失败! $eLogPath
}
}
else
{
echo $sdate \\$name,已由使用人员关闭! $logPath
}
}
--------------------------------------------------------------------------------------------
如上所示:
此脚本标红部分(三处)为要定义的变量参数,以下逐项说明:
$names = get-content d:\computers.txt
此红色部分为要关闭的计算机的IP地址列表的文件路径,每一行代表一台计算机,文件详细内容定义如下:
如上所示:脚本将读入文本中的计算机地址并尝试将计算机关闭。
$time = 900
此红色部分定义关机等待的时间,单位为“秒”
$dir = d:\
此红色部分定义脚本日志的输出路径(可以使共享路径),不含文件名称,文件名称将由脚本其他地方定义。
如上图所示:
以上三个文件为脚本输出的日子文件,带“err”的用于记录关机异常日志文件,不带“err”字样的记录用户正常关机与被管理关机的日志。
日志内容大致如下:
注:以上日志供值班人员参考
给脚本签名
由于受系统安全机制的影响,我们需要对系统进行签名,系统才会允许脚本正常运行。
制作签名证书
签名前的准备工作
由于脚本的签名要使用到“makecert.exe”证书制作工具,所以签名前需要先安装“Microsoft .NET Framework SDK v2.0”:
下载地址如下:/zh-tw/library/aa731542.aspx
使用“makecert.exe”证书制作工具
单击【开始】--【所有程序】--【Microsoft .NET Framework SDK v2.0】--【SDK 命令提示】
窗口显示如下:
键入如下命令:
makecert.exe -pe -r -n cn=TmarkPowerShell -eku ..3 -ss my 窗口显示如下:
如上图所示:
-eku 参数:..3,不能是其它,证书预期目的属性签名
-n 参数:cn=TmarkPowerShell ,定义证书的名称。
确认证书已经建立成功:
键入如下命令:
PowerShell
ls cer
文档评论(0)