PowerTime PowerShell walk through


I thought I’d provide a small taster of what you can expect to find in the PowerShell support for PowerTime.

PowerShell includes the ability to treat various resources as if they are akin to a file system. We figured that this would be an interesting way to deal with a time series database.

New-PSDrive -Name ptdb -Root openxtracabtemps.ptd -PSProvider PowerTime

The above command open up the database file “openxtracabtemps.ptd” using the PowerTime PowerShell provider. The following is then displayed:

Name Provider Root CurrentLocation
—- ——– —- —————
ptdb PowerTime
openxtracabtemps.ptd

When the provider is opened the regular PowerShell command prompt is used. To move into the new provider, type the following:

cd ptdb:

The regular file based commands you are familiar with will now work as expected such as cd and dir. A dir command results in the following:

PSPath : PowerTimeProviderPSSnapIn\PowerTime::openxtracabtemps.ptd\
PSParentPath :
PSChildName : openxtracabtemps.
ptd
PSDrive : ptdb
PSProvider : PowerTimeProviderPSSnapIn\PowerTime
PSIsContainer : True
Name : Temperature in the OPENXTRA server cabinet

The above lists the available data sources inside the database. In this case there is only one data source named “Temperature in the OPENXTRA server cabinet“. You can then cd into the data source to reveal the archives:

cd ‘Temperature in the OPENXTRA server cabinet’

A dir command will reveal the following:

PSPath : PowerTimeProviderPSSnapIn\PowerTime::openxtracabtemps.prrd\Temperature in the OPENXTRA server cabinet
PSParentPath : PowerTimeProviderPSSnapIn\PowerTime::openxtracabtemps.ptd
PSChildName : Temperature in the OPENXTRA server cabinet
PSDrive : ptdb
PSProvider : PowerTimeProviderPSSnapIn\PowerTime
PSIsContainer : False
Name : All
Type : AVERAGE
DatumCount : 96

PSPath : PowerTimeProviderPSSnapIn\PowerTime::openxtracabtemps.prrd\Temperature in the OPENXTRA server cabinet
PSParentPath : PowerTimeProviderPSSnapIn\PowerTime::openxtracabtemps.ptd
PSChildName : Temperature in the OPENXTRA server cabinet
PSDrive : ptdb
PSProvider : PowerTimeProviderPSSnapIn\PowerTime
PSIsContainer : False
Name : 1 hr Average
Type : AVERAGE
DatumCount : 24

PSPath : PowerTimeProviderPSSnapIn\PowerTime::openxtracabtemps.prrd\Temperature in the OPENXTRA server cabinet
PSParentPath : PowerTimeProviderPSSnapIn\PowerTime::openxtracabtemps.ptd
PSChildName : Temperature in the OPENXTRA server cabinet
PSDrive : ptdb
PSProvider : PowerTimeProviderPSSnapIn\PowerTime
PSIsContainer : False
Name : Low
Type : MIN
DatumCount : 8

PSPath : PowerTimeProviderPSSnapIn\PowerTime::openxtracabtemps.prrd\Temperature in the OPENXTRA server cabinet
PSParentPath : PowerTimeProviderPSSnapIn\PowerTime::openxtracabtemps.ptd
PSChildName : Temperature in the OPENXTRA server cabinet
PSDrive : ptdb
PSProvider : PowerTimeProviderPSSnapIn\PowerTime
PSIsContainer : False
Name : High
Type : MAX
DatumCount : 8

The above lists four archives, two average archives and one min and one max archive. You can then cd and into any of the archives too. Doing a dir on the “1 hr average” archive reveals the following:

PSPath : PowerTimeProviderPSSnapIn\PowerTime::openxtracabtemps.ptd\Temperature in the OPENXTRA server cabinet\1 hr Average\0
PSParentPath : PowerTimeProviderPSSnapIn\PowerTime::openxtracabtemps.ptd\Temperature in the OPENXTRA server cabinet\1 hr Average
PSChildName : 0
PSDrive : ptdb
PSProvider : PowerTimeProviderPSSnapIn\PowerTime
PSIsContainer : False
Value : 24.75
Time : 20/03/2008 00:45:00
Index : 0

PSPath : PowerTimeProviderPSSnapIn\PowerTime::openxtracabtemps.ptd\Temperature in the OPENXTRA server cabinet\1 hr Average\1
PSParentPath : PowerTimeProviderPSSnapIn\PowerTime::openxtracabtemps.ptd\Temperature in the OPENXTRA server cabinet\1 hr Average
PSChildName : 1
PSDrive : ptdb
PSProvider : PowerTimeProviderPSSnapIn\PowerTime
PSIsContainer : False
Value : 24
Time : 20/03/2008 01:45:00
Index : 1

PSPath : PowerTimeProviderPSSnapIn\PowerTime::openxtracabtemps.ptd\Temperature in the OPENXTRA server cabinet\1 hr Average\2
PSParentPath : PowerTimeProviderPSSnapIn\PowerTime::openxtracabtemps.ptd\Temperature in the OPENXTRA server cabinet\1 hr Average
PSChildName : 2
PSDrive : ptdb
PSProvider : PowerTimeProviderPSSnapIn\PowerTime
PSIsContainer : False
Value : 24
Time : 20/03/2008 02:45:00
Index : 2

PSPath : PowerTimeProviderPSSnapIn\PowerTime::openxtracabtemps.ptd\Temperature in the OPENXTRA server cabinet\1 hr Average\3
PSParentPath : PowerTimeProviderPSSnapIn\PowerTime::openxtracabtemps.ptd\Temperature in the OPENXTRA server cabinet\1 hr Average
PSChildName : 3
PSDrive : ptdb
PSProvider : PowerTimeProviderPSSnapIn\PowerTime
PSIsContainer : False
Value : 24
Time : 20/03/2008 03:45:00
Index : 3

PSPath : PowerTimeProviderPSSnapIn\PowerTime::openxtracabtemps.ptd\Temperature in the OPENXTRA server cabinet\1 hr Average\4
PSParentPath : PowerTimeProviderPSSnapIn\PowerTime::openxtracabtemps.ptd\Temperature in the OPENXTRA server cabinet\1 hr Average
PSChildName : 4
PSDrive : ptdb
PSProvider : PowerTimeProviderPSSnapIn\PowerTime
PSIsContainer : False
Value : 24
Time : 20/03/2008 04:45:00
Index : 4

PSPath : PowerTimeProviderPSSnapIn\PowerTime::openxtracabtemps.ptd\Temperature in the OPENXTRA server cabinet\1 hr Average\5
PSParentPath : PowerTimeProviderPSSnapIn\PowerTime::openxtracabtemps.ptd\Temperature in the OPENXTRA server cabinet\1 hr Average
PSChildName : 5
PSDrive : ptdb
PSProvider : PowerTimeProviderPSSnapIn\PowerTime
PSIsContainer : False
Value : 24
Time : 20/03/2008 05:45:00
Index : 5

PSPath : PowerTimeProviderPSSnapIn\PowerTime::openxtracabtemps.ptd\Temperature in the OPENXTRA server cabinet\1 hr Average\6
PSParentPath : PowerTimeProviderPSSnapIn\PowerTime::openxtracabtemps.ptd\Temperature in the OPENXTRA server cabinet\1 hr Average
PSChildName : 6
PSDrive : ptdb
PSProvider : PowerTimeProviderPSSnapIn\PowerTime
PSIsContainer : False
Value : 24
Time : 20/03/2008 06:45:00
Index : 6

PSPath : PowerTimeProviderPSSnapIn\PowerTime::openxtracabtemps.ptd\Temperature in the OPENXTRA server cabinet\1 hr Average\7
PSParentPath : PowerTimeProviderPSSnapIn\PowerTime::openxtracabtemps.ptd\Temperature in the OPENXTRA server cabinet\1 hr Average
PSChildName : 7
PSDrive : ptdb
PSProvider : PowerTimeProviderPSSnapIn\PowerTime
PSIsContainer : False
Value : 24
Time : 20/03/2008 07:45:00
Index : 7

PSPath : PowerTimeProviderPSSnapIn\PowerTime::openxtracabtemps.ptd\Temperature in the OPENXTRA server cabinet\1 hr Average\8
PSParentPath : PowerTimeProviderPSSnapIn\PowerTime::openxtracabtemps.ptd\Temperature in the OPENXTRA server cabinet\1 hr Average
PSChildName : 8
PSDrive : ptdb
PSProvider : PowerTimeProviderPSSnapIn\PowerTime
PSIsContainer : False
Value : 24.25
Time : 20/03/2008 08:45:00
Index : 8

PSPath : PowerTimeProviderPSSnapIn\PowerTime::openxtracabtemps.ptd\Temperature in the OPENXTRA server cabinet\1 hr Average\9
PSParentPath : PowerTimeProviderPSSnapIn\PowerTime::openxtracabtemps.ptd\Temperature in the OPENXTRA server cabinet\1 hr Average
PSChildName : 9
PSDrive : ptdb
PSProvider : PowerTimeProviderPSSnapIn\PowerTime
PSIsContainer : False
Value : 25.25
Time : 20/03/2008 09:45:00
Index : 9

PSPath : PowerTimeProviderPSSnapIn\PowerTime::openxtracabtemps.ptd\Temperature in the OPENXTRA server cabinet\1 hr Average\10
PSParentPath : PowerTimeProviderPSSnapIn\PowerTime::openxtracabtemps.ptd\Temperature in the OPENXTRA server cabinet\1 hr Average
PSChildName : 10
PSDrive : ptdb
PSProvider : PowerTimeProviderPSSnapIn\PowerTime
PSIsContainer : False
Value : 26
Time : 20/03/2008 10:45:00
Index : 10

PSPath : PowerTimeProviderPSSnapIn\PowerTime::openxtracabtemps.ptd\Temperature in the OPENXTRA server cabinet\1 hr Average\11
PSParentPath : PowerTimeProviderPSSnapIn\PowerTime::openxtracabtemps.ptd\Temperature in the OPENXTRA server cabinet\1 hr Average
PSChildName : 11
PSDrive : ptdb
PSProvider : PowerTimeProviderPSSnapIn\PowerTime
PSIsContainer : False
Value : 25
Time : 20/03/2008 11:45:00
Index : 11

PSPath : PowerTimeProviderPSSnapIn\PowerTime::openxtracabtemps.ptd\Temperature in the OPENXTRA server cabinet\1 hr Average\12
PSParentPath : PowerTimeProviderPSSnapIn\PowerTime::openxtracabtemps.ptd\Temperature in the OPENXTRA server cabinet\1 hr Average
PSChildName : 12
PSDrive : ptdb
PSProvider : PowerTimeProviderPSSnapIn\PowerTime
PSIsContainer : False
Value : 24.25
Time : 20/03/2008 12:45:00
Index : 12

PSPath : PowerTimeProviderPSSnapIn\PowerTime::openxtracabtemps.ptd\Temperature in the OPENXTRA server cabinet\1 hr Average\13
PSParentPath : PowerTimeProviderPSSnapIn\PowerTime::openxtracabtemps.ptd\Temperature in the OPENXTRA server cabinet\1 hr Average
PSChildName : 13
PSDrive : ptdb
PSProvider : PowerTimeProviderPSSnapIn\PowerTime
PSIsContainer : False
Value : 24
Time : 20/03/2008 13:45:00
Index : 13

PSPath : PowerTimeProviderPSSnapIn\PowerTime::openxtracabtemps.ptd\Temperature in the OPENXTRA server cabinet\1 hr Average\14
PSParentPath : PowerTimeProviderPSSnapIn\PowerTime::openxtracabtemps.ptd\Temperature in the OPENXTRA server cabinet\1 hr Average
PSChildName : 14
PSDrive : ptdb
PSProvider : PowerTimeProviderPSSnapIn\PowerTime
PSIsContainer : False
Value : 24
Time : 20/03/2008 14:45:00
Index : 14

PSPath : PowerTimeProviderPSSnapIn\PowerTime::openxtracabtemps.ptd\Temperature in the OPENXTRA server cabinet\1 hr Average\15
PSParentPath : PowerTimeProviderPSSnapIn\PowerTime::openxtracabtemps.ptd\Temperature in the OPENXTRA server cabinet\1 hr Average
PSChildName : 15
PSDrive : ptdb
PSProvider : PowerTimeProviderPSSnapIn\PowerTime
PSIsContainer : False
Value : 24
Time : 20/03/2008 15:45:00
Index : 15

PSPath : PowerTimeProviderPSSnapIn\PowerTime::openxtracabtemps.ptd\Temperature in the OPENXTRA server cabinet\1 hr Average\16
PSParentPath : PowerTimeProviderPSSnapIn\PowerTime::openxtracabtemps.ptd\Temperature in the OPENXTRA server cabinet\1 hr Average
PSChildName : 16
PSDrive : ptdb
PSProvider : PowerTimeProviderPSSnapIn\PowerTime
PSIsContainer : False
Value : 24
Time : 20/03/2008 16:45:00
Index : 16

PSPath : PowerTimeProviderPSSnapIn\PowerTime::openxtracabtemps.ptd\Temperature in the OPENXTRA server cabinet\1 hr Average\17
PSParentPath : PowerTimeProviderPSSnapIn\PowerTime::openxtracabtemps.ptd\Temperature in the OPENXTRA server cabinet\1 hr Average
PSChildName : 17
PSDrive : ptdb
PSProvider : PowerTimeProviderPSSnapIn\PowerTime
PSIsContainer : False
Value : 24
Time : 20/03/2008 17:45:00
Index : 17

PSPath : PowerTimeProviderPSSnapIn\PowerTime::openxtracabtemps.ptd\Temperature in the OPENXTRA server cabinet\1 hr Average\18
PSParentPath : PowerTimeProviderPSSnapIn\PowerTime::openxtracabtemps.ptd\Temperature in the OPENXTRA server cabinet\1 hr Average
PSChildName : 18
PSDrive : ptdb
PSProvider : PowerTimeProviderPSSnapIn\PowerTime
PSIsContainer : False
Value : 24
Time : 20/03/2008 18:45:00
Index : 18

PSPath : PowerTimeProviderPSSnapIn\PowerTime::openxtracabtemps.ptd\Temperature in the OPENXTRA server cabinet\1 hr Average\19
PSParentPath : PowerTimeProviderPSSnapIn\PowerTime::openxtracabtemps.ptd\Temperature in the OPENXTRA server cabinet\1 hr Average
PSChildName : 19
PSDrive : ptdb
PSProvider : PowerTimeProviderPSSnapIn\PowerTime
PSIsContainer : False
Value : 23.5
Time : 20/03/2008 19:45:00
Index : 19

PSPath : PowerTimeProviderPSSnapIn\PowerTime::openxtracabtemps.ptd\Temperature in the OPENXTRA server cabinet\1 hr Average\20
PSParentPath : PowerTimeProviderPSSnapIn\PowerTime::openxtracabtemps.ptd\Temperature in the OPENXTRA server cabinet\1 hr Average
PSChildName : 20
PSDrive : ptdb
PSProvider : PowerTimeProviderPSSnapIn\PowerTime
PSIsContainer : False
Value : 23
Time : 20/03/2008 20:45:00
Index : 20

PSPath : PowerTimeProviderPSSnapIn\PowerTime::openxtracabtemps.ptd\Temperature in the OPENXTRA server cabinet\1 hr Average\21
PSParentPath : PowerTimeProviderPSSnapIn\PowerTime::openxtracabtemps.ptd\Temperature in the OPENXTRA server cabinet\1 hr Average
PSChildName : 21
PSDrive : ptdb
PSProvider : PowerTimeProviderPSSnapIn\PowerTime
PSIsContainer : False
Value : 23
Time : 20/03/2008 21:45:00
Index : 21

PSPath : PowerTimeProviderPSSnapIn\PowerTime::openxtracabtemps.ptd\Temperature in the OPENXTRA server cabinet\1 hr Average\22
PSParentPath : PowerTimeProviderPSSnapIn\PowerTime::openxtracabtemps.ptd\Temperature in the OPENXTRA server cabinet\1 hr Average
PSChildName : 22
PSDrive : ptdb
PSProvider : PowerTimeProviderPSSnapIn\PowerTime
PSIsContainer : False
Value : 23
Time : 20/03/2008 22:45:00
Index : 22

PSPath : PowerTimeProviderPSSnapIn\PowerTime::openxtracabtemps.ptd\Temperature in the OPENXTRA server cabinet\1 hr Average\23
PSParentPath : PowerTimeProviderPSSnapIn\PowerTime::openxtracabtemps.ptd\Temperature in the OPENXTRA server cabinet\1 hr Average
PSChildName : 23
PSDrive : ptdb
PSProvider : PowerTimeProviderPSSnapIn\PowerTime
PSIsContainer : False
Value : 23
Time : 20/03/2008 23:45:00
Index : 23

A lot of the information presented probably won’t appear in the final version. Things like the PSPath, PSParentPath and the like are just being used during development. At the bottom of each entry is the value and time of the entry.

There are also cmdlets for creating the database in the first place and for generating graphs. More on those later.

Popularity: 24% [?]

Share and Enjoy: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • del.icio.us
  • Reddit
  • StumbleUpon

Subscribe now with RSS or email

Leave a reply