NT タイムエポックの変換スクリプト

09.04

ADの属性などでタイムスタンプが設定されていることがあります。

これは 131824874832502859 などのような数字なので人間の理解できる日時に直すのは複雑な計算が必要となります。

もともとはLAPSのパスワード変更タイミングをヘルプデスクで変更して、ローカルアドミニのパスワードをユーザーに渡す運用を考えていたのですが、このタイムスタンプが厄介だったのでツールを作成しました。

最初にNTタイムエポックを入力する画面が出てくるので、テキストにその結果を出力して表示させます。

次に日時を入れると、NTタイムエポックに変換してテキストに出力して表示させます。

テキストに表示させるのでコピペ可能です。

# This is NT time epoch conversion tool.

[void][System.Reflection.Assembly]::Load(“Microsoft.VisualBasic, Version=8.0.0.0, Culture=Neutral, PublicKeyToken=b03f5f7f11d50a3a”)

$NTtime = [Microsoft.VisualBasic.Interaction]::InputBox(“Please enter NT time. If you are not sure, please press OK without entering anything.”, “System”)

if($NTtime -ne “”)

{

$time = [datetime]::FromFileTime(“$NTtime”)

$time | Out-File $env:UserProfile\Desktop\NTtime.txt

Start-Process -FilePath notepad.exe -ArgumentList $env:UserProfile\Desktop\NTtime.txt -wait

Remove-Item $env:UserProfile\Desktop\NTtime.txt

}

$time = $null

$time = [Microsoft.VisualBasic.Interaction]::InputBox(“Please enter the date.(ex 2016/11/07 8:23:32)”, “System”)

if($time -ne “”)

{

$time = (Get-Date “$time”).ToFileTime()

$time | Out-File $env:UserProfile\Desktop\time.txt

Start-Process -FilePath notepad.exe -ArgumentList $env:UserProfile\Desktop\time.txt -wait

Remove-Item $env:UserProfile\Desktop\time.txt

}

 

各種スクリプトをキックするためのツールに登録してヘルプデスクに渡しています。

ヘルプデスクの場合、蒸気をコピペしてPowershellに張り付けてね!って伝えてもできない人もいるので、キック用のスクリプトも作っておくと便利です。

皆様のお役に立てば幸いです。

 

関連記事

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

2018年12月
« 11月    
 12
3456789
10111213141516
17181920212223
24252627282930
31  
ページ上部へ戻る