PowerShell时间记录脚本_PowerShell

#initialization
   $timeInterval = 30 #监测间隔
   $record = @{"Coding" = 0; "Outlook Email" = 0; "Gmail" = 0; "Google Reader" = 0; "BBS" = 0; "Other Internet" = 0; "Documents" = 0;}
  $count = 0
  $date = date -format "yyyyMMdd"
  #try to resume
  if (test-path "d:\temp\timeRecord$date.txt") {
    gc "d:\temp\timeRecord$date.txt" | % {if ($_ -match "\w+\s+\d+") {
      $groups = [Regex]::Match($_, "^(\w+\s?\w+)\s+(\d+)").Groups;
      $record[$groups[1].Value] = [int]::Parse($groups[2].Value);
    }}
  }
  #start to monitor
  while ($true)
  {
    $titles = ps | ? {$_.MainWindowTitle} | select MainWindowTitle
    $titles | % {
      if ($_ -match "Google 阅读器 - Windows Internet Explorer") {$record["Google Reader"]++;}
      else {if ($_ -match "Gmail - Windows Internet Explorer") {$record["Gmail"]++;}
      else {if ($_ -match "Internet Explorer") {$record["Other Internet"]++;}
      else {if ($_ -match "Visual Studio") {$record["Coding"]++;}
      else {if ($_ -match "Microsoft Word") {$record["Documents"]++;}
      else {if ($_ -match "Microsoft Office OneNote") {$record["Documents"]++;}
      else {if ($_ -match "Microsoft PowerPoint") {$record["Documents"]++;}
      else {if ($_ -match "Message (HTML)") {$record["Outlook Email"]++;}
      else {if ($_ -match "bbs") {$record["BBS"]++;}
      }}}}}}}}
    }
    sleep($timeInterval)
    $count = ($count + 1) % 10 #为了防止数据丢失,每10次记录写入文件一次
    if ($count -eq 0) {$record > "d:\temp\timeRecord$date.txt"}
  }

为了解技术思路,研究了一下powershell.
整个开发与部署过程如下:

1.下载WindowsXP-KB926139-v2-x86-ENU

安装powershell环境;

2.按照代码要求,写一个简单的脚本;

3. 运行powershell时,同 bat是有区别的.注意以下方法:

1) 解除限制:

set-executionpolicy Unrestricted

2) 将文件名保存为ps1
3) 通过以下方法运行(假如文件名是c:a.ps1)
PS C:> .a
[@more@]

示例代码:

function foo ( [int] $x)
{
$x = $x + 1
echo $x
}
foo (1 )

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索powershell 脚本、powershell 执行脚本、powershell脚本实例、powershell脚本编写、运行powershell脚本,以便于您获取更多的相关知识。

时间: 2024-09-18 17:25:34

PowerShell时间记录脚本_PowerShell的相关文章

Powershell实现编写和运行脚本_PowerShell

一个Powershell仅仅是一个包含Powershell代码的文本文件.如果这个文本文件执行,Powershell解释器会逐行解释并执行它的的语句.Powershell脚本非常像以前CMD控制台上的批处理文件.您可以通过非常简单的文本编辑工具创建Powershell脚本. 通过重定向创建脚本 如果您的脚本不是很长,您甚至可以直接在控制台中要执行的语句重定向给一个脚本文件. PS E:> '"Hello,Powershell Script"' > MyScript.ps1

时间戳-mysql 数据库时间记录求差

问题描述 mysql 数据库时间记录求差 mysql数据库总有两个时间戳的字段,我想求两个时间戳的字段之差小于8小时,不知道怎么弄?????求帮助!!! 解决方案 SELECT * from 表 where TIMESTAMPDIFF(HOUR Time1 Time2) <= 8 Time1和Time2为你的两个时间戳的字段 解决方案二: 测试过了,一楼方法可行. 解决方案三: 谢谢大家的帮助,我直接将时间戳读出来,然后比较的时间差也达到我的要求了!!!!!

时间限制脚本

访问时间限制脚本 下面为脚本显示区!

sql 查询指定日期时间记录sql语句与查询实例

sql 查询指定日期时间记录sql语句与查询实例  首先创建一个表abc结构如下    CREATE TABLE `cc`.`loup` (  `id` INT( 4 ) NOT NULL AUTO_INCREMENT ,  `datetimes` INT( 4 ) NULL ,  `ipaddress` VARCHAR( 20 ) NULL ,  PRIMARY KEY ( `id` )  ) ENGINE = MYISAM    再批量插入数据    INSERT INTO `loup` (

PostgreSQL中常用的时间日期脚本使用教程_PostgreSQL

获取系统时间函数 select now(); --2013-11-28 16:20:25.259715+08 select current_timestamp; --2013-11-28 16:20:38.815466+08 select current_date; --2013-11-28 select current_time; --16:21:08.981171+08 时间的计算 --使用interval select now()+interval '2 day'; --2013-11-3

Linux中apache 2内存占用监控记录脚本

web服务器遇到一个奇怪的问题,在运行的诸多apache2进程中, 会有某个进程, 慢慢占满全部内存, 然后机器就象死了一样,写了一个自动检查脚本,检查并杀死出问题的apache2进程,问题得到缓解,但是没有解决, 因为慢慢占满内存 ,会使linux释放掉所以的硬盘cache并且周期性的有性能下降.用RLimitMEM参数限制内存,也不奏效,bw_mod限制流量也不奏效 今天修改了一下脚本, 在杀死出问题的进程之前,先记录此进程连接的外部的ip和端口,&http://www.aliyun.com

连续玩魔兽世界136小时 打破最长游戏时间记录

日前一名国外魔兽在Twitter上火了,而主要原因是他创下了新纪录,连续玩<魔兽世界>长达136小时.这位疯狂的玩家名叫Ryan Lenk,今年22岁,住在宾夕法尼亚.前些天,他在Twitter上立下目标,要打破最长游戏时间记录(连续打游戏135小时),当时他已经连续玩了42小时.Lenk的意愿引起了众多 网友的关注,随后在该条推文下面,有1613114条回复.在数天的苦战之后,这哥们终于完成了自己的目标,总时长为136小时.疯狂玩家Ryan Lenk除了对魔兽的狂热喜爱,Lenk能够实现目标

Powershell小技巧之记录脚本的操作_PowerShell

你可能知道在PS控制台(不是ISE编辑器),你可以打开脚本日志" 复制代码 代码如下: PS> Start-Transcript 你将记录所有输入的命令和所有的结果到这个文件.不幸的是它虽然运行在脚本中,但你不能准确看到脚本命令. 这里有一个在你脚本执行时记录全部命令方法.在你尝试这个方法之前,你可能会意识到这将增大日志文件的大小和降低脚本执行速度,因为在这个循环中,中间的迭代也将被记录. 下面命令将打开全部脚本的日志: 复制代码 代码如下: PS> Set-PSDebug -Tra

使用HTTP api简单的远程执行PowerShell脚本_PowerShell

可能有些情况下,你不想完全体验通过PSRP(PowerShell远程处理协议)远程管理,或有需要从非Windows系统上执行一些PowerShell脚本.你可能会像我很久之前在这篇文章中写的那样直接基于WS-Man来写代码.但是那样很复杂,并且需要WS-Man和SOAP的一些知识. 我在PowerShell脚本中使用.Net HttpListener类写了个HTTP监听器.你可以非常简单地启动一个监听器的实例(需要提升权限监听网络),现在你可以执行任意的PowerShell命令了,它还可以返回多