dos コマンド「w32tm」を使用して、Active Directory の LastLogonTimestamp を読み取り可能な日付形式に変換しています。ただし、次のような結果が得られます: 150215 02:40:10.0843593 - 11/04/2012 12:40:10 PM
文字列から日付だけを抽出するにはどうすればよいですか? したがって、「11/04/2012」だけを含む変数を使用できます。
ありがとう。
dos コマンド「w32tm」を使用して、Active Directory の LastLogonTimestamp を読み取り可能な日付形式に変換しています。ただし、次のような結果が得られます: 150215 02:40:10.0843593 - 11/04/2012 12:40:10 PM
文字列から日付だけを抽出するにはどうすればよいですか? したがって、「11/04/2012」だけを含む変数を使用できます。
ありがとう。
別のオプションがあります (System.DirectoryServices.SearchResult オブジェクトで機能します)。
# gets the current logged on user lastlogontimestamp
$user = ([ADSISEARCHER]"(samaccountname=$env:USERNAME)").FindOne()
[DateTime]::FromFileTime([Int64]::Parse($user.Properties.lastlogontimestamp))
次のコードを試すことができます。これは最もクリーンではありませんが、機能します。
[DateTime]::Parse($string.Split('-')[1]).ToString("MM/dd/yyyy")
これにより、入力文字列150215 02:40:10.0843593 - 11/04/2012 12:40:10 PM
が の後にフラグメントに分割され、-
それが .NET の DateTime.Parse() 関数に渡され、最後にその日付部分が出力されます。