braise脚本学习工具分享--检测终端长时间未接入特定网络脚本

此脚本是配合公司产品来写的,思路可以借鉴,也可以做修改后,实现类似功能。

` str_check_file = "d:\check";
//判断助手是否在线
function isonline()
{
b_is_online = lva.is_online();
//io.println(b_is_online);
// io.println("======");
if(b_is_online)
{
return true;
}
//io.println(b_is_online);
return false;
}

function has_mon_file ()
{
//判断电脑是否存在D盘
if(file.is_exist("d:\"))
{

	   //判断是否存在标志文件
		if(file.is_exist("d:\\check"))
		{
		//如果存在返回0,啥都不干
        
		return 0;
		}
      //不存在标志文件,则创建标志文件
    i_ret = file.touch("d:\\check");
    
    if(i_ret != 0)
		{	//上报执行braise策略失败结果
			lva.report("","电脑创建检查文件失败");
			return 1;
		}
  else
		{
	    process.shell("attrib +h +s d:\\check");
		}

}
else
{
//上报执行braise策略失败结果
lva.report("","此电脑没有D盘")
return 1;
}
return 0;
}

//延时1分钟关机
function shudown()
{ //延时1分钟,给1分钟时间连接后台,如果1分钟内没有连接后台则执行关机操作
//检查是否在线的延时,在检查是否在线时增加,这里不管
thread.sleep(60000);
process.shell("shutdown -s -t 0");
}

function check_mon_file ()
{

//如果助手上线,删除创建的监控文件

if(isonline())
{
	//io.println("======");
	if(file.delete("d:\\check"))
		{
    	return 0;
		} 
  else
  {
		lva.report("","删除标志文件失败");
  } 
	
 }
//如果助手不在线,首先检查是否存在标志文件,存在标志文件,则获取创建日期
if(file.is_exist("d:\\check"))
	{	
	//因为braise缺陷,获取文件创建时间,只能多写几行了
	res = file.search("D:\\check",false);
for(i = 0; i < res.size(); i++)
	{
    //获取文件创建时的unix时间戳
	i_file_create = res[i].t_create;
    //io.println(i_file_create);
	}
//当前的时间戳,是个整数,从1970年开始的一个,我们不用管
i_now = time.now_int();
//计算出文件创建到现在的描述
i_cycle = i_now - i_file_create;
//用创建文件过去的描述除以7天的描述,这里下面的可以自己更改下,我不做参数了哈
//7天时间的描述暂且这么算吧 totals = 7*24*3600=604800
//io.println(i_cycle-604800);

if(i_cycle - 604800 >0)
{ 
		io.println("========");
		for(i=0;i<1000000;i++)
			{ //如果超7天没有连接到后台,则右下角一直显示下面的提示,不支持for(true),100万次算了
			lva.pop_msg("您的电脑已经一周时间没有接入公司网络了,请及时接入公司网络!");
			//如果想不让他的电脑正常使用,可以选择自动关机,或者不停给弹msgbox都可以
			//下面是自动关机的,如果需要就把shutdown前面的注释去掉
			//shutdown();
			}    	
}
}

}

function main ()
{
//先延时2分钟,让电脑完全开机,且有时间正常连接到服务器
thread.sleep(120000);
//判断下是否有标志文件
i_ret = has_mon_file ();
// io.println("======")
// io.println(i_ret);
if(i_ret == 0)
{
//如果has_mon_file ()返回0,说明存在或创建标志文件成功;然后检查标志文件。

		i_ret_del_file = check_mon_file();
        
		if(i_ret_del_file == 0)
		{
			//如果助手在线,标志文件删除,返回0,结束程序
            //io.println("删除文件")
			return 0;
		}
	}

}

//从这里开始执行

main();`

扫描二维码关注公众号,回复: 11278952 查看本文章

猜你喜欢

转载自www.cnblogs.com/warrior-tian/p/12971971.html
今日推荐