虚位以待(AD)
虚位以待(AD)
首页 > 脚本专栏 > Powershell > PowerShell时间记录脚本

PowerShell时间记录脚本
类别: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:temptimeRecord$date.txt") {
    gc "d:temptimeRecord$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:temptimeRecord$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 + 1echo $x}
    foo (1 )

相关热词搜索: PowerShell时间记录脚本