Here is a chunk of code that demonstrates how you can store private settings in the Windows Registry:

# store settings here
$Path = "HKCU:\software\powertips\settings"

# check whether key exists
$exists = Test-Path -Path $Path
if ($exists -eq $false)
{
    # if this is first run, initialize registry key
    $null = New-Item -Path $Path -Force
}

# read existing value
$currentValue = Get-ItemProperty -Path $path
$lastRun = $currentValue.LastRun
if ($lastRun -eq $null)
{
    [PSCustomObject]@{
        FirstRun = $true
        LastRun = $null
        Interval = $null
    }
}
else
{
    $lastRunDate = Get-Date -Date $lastRun
    $today = Get-Date
    $timeSpan = $today - $lastRunDate

    [PSCustomObject]@{
        FirstRun = $true
        LastRun = $lastRunDate
        Interval = $timeSpan
    }
}

# write current date and time to registry
$date = Get-Date -Format 'yyyy-MM-dd HH:mm:ss'
$null = New-ItemProperty -Path $Path -Name LastRun -PropertyType String -Value $date -Force

Whenever you run this code, it returns an object telling you when this script was run the last time, and how much time has passed since.

Twitter This Tip! ReTweet this Tip!

Anonymous