• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    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 )

    您可能感兴趣的文章:
    • linux中 shell 历史命令记录功能
    • 用来记录登录后使用命令的shell脚本
    • PowerShell小技巧之定时记录操作系统行为
    • shell将脚本输出结果记录到日志文件的实现
    • Powershell小技巧之记录脚本的操作
    • Powershell小技巧之用变量累积记录错误
    • shell如何记录用户的IP与命令详解
    上一篇:PowerShell使用小技巧分享
    下一篇:PowerShell中的加法运算详解
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    PowerShell时间记录脚本 PowerShell,时间,记录,脚本,