2016-04-19 1 views
1

"windows 2008 R2"マシンでpowershell HyperVコマンドレットを使用していて、スナップショットのCreationTimeを取得しています。しかし、私は20160418194131.402718-000のような日付の形式を認識しません。誰もこの日付をyyyyMMdd hh:mm:ssのような形式にフォーマットする方法についていくつかの光を当てることができます。おかげPowershellで日付をフォーマットする

PS C:\Users\Administrator\Documents> Get-VMSnapshot -VM "Centos Virtual Machine 2" | select ElementName,CreationTime,Notes | format-li 
st 


ElementName : Centos Virtual Machine 2 - (4/18/2016 - 3:41:09 PM) 
CreationTime : 20160418194131.402718-000 
Notes  : 

ElementName : Centos Virtual Machine 2 - (4/19/2016 - 8:52:08 AM) 
CreationTime : 20160419125218.382146-000 
Notes  : test Note 

ElementName : Centos Virtual Machine 2 - (4/19/2016 - 8:47:29 AM) 
CreationTime : 20160419124741.107259-000 
Notes  : 

ElementName : Centos Virtual Machine 2 - (4/18/2016 - 3:40:15 PM) 
CreationTime : 20160418194047.145440-000 
Notes  : 
+0

'[System.Management.ManagementDateTimeConverter] :: ToDateTime' – PetSerAl

答えて

2

しばらく前に、私は通常のPowerShell DateTimeオブジェクトにWMI DateTime文字列を変換するために同様の機能を書いた:

Function ConvertFrom-WMIDateHC { 
<# 
    .SYNOPSIS 
     Convert a WMI DateTime string to a PowerShell DateTime object 

    .DESCRIPTION 
     Convert a WMI DateTime string to a PowerShell DateTime object 

    .PARAMETER Date 
     WMI DateTime string 

    .EXAMPLE 
     ConvertFrom-WMIDateHC -Date '20160415083857.131846+120' 
     Converts the WMI DateTime string '20160415083857.131846+120' to a PowerShell DateTime object 'Friday 15 april 2016 08:38:57' 
#> 

    Param (
     [Parameter(Mandatory,Valuefrompipeline)] 
     [String]$Date 
    ) 
    Process { 
     Try { 
      [System.Management.ManagementDateTimeConverter]::ToDateTime($Date) 
     } 
     Catch { 
      throw "WMI to PowerShell date conversion failed: $_" 
     } 
    } 
} 

ConvertFrom-WMIDateHC '20160418194047.145440-000' 

これはにあなたを助けるかもしれません。

+0

これはうまくいきました –

+0

あなたは大歓迎です:) – DarkLite1

+0

この関数は私のために働いていますが、 [System.Management.ManagementDateTimeConverter] :: ToDateTime($ Date)のように日付を変換する部分 –

関連する問題