次のコードを使用して、ユーザーの最終ログオン日を取得しようとしています。私の問題は、powershell 変数 $MailboxData から VB.net 変数に powershell の結果を取得することです。
このdisplayname = obj.Members("alias").Value.ToString
行はエラー以外は何も返しません。
誰にもアイデアはありますか?
Dim scripttext As String
scripttext = "$MailboxData = @() " & vbCrLf & _
"$mailboxes = Get-Mailbox -ResultSize unlimited " & vbCrLf & _
"foreach ($mailbox in $mailboxes) { " & _
"$DBObject = new-object PSObject " & _
"$DBObject | add-member NoteProperty -Name Alias $Mailbox.alias " & _
"$DBObject | add-member NoteProperty -Name LastLogonTime (Get-MailboxStatistics $mailbox.alias).LastLogonTime " & vbCrLf & _
"$MailboxData = $MailboxData + $DBObject " & _
"}" & vbCrLf & _
"$mailboxData " & vbCrLf
powershell.Commands.AddScript(scripttext)
powershell.Runspace = myRunSpace
results = powershell.Invoke()
Dim displayname As String
Dim lastLogon As String
For Each obj As PSObject In results
Try
displayname = obj.Members("alias").Value.ToString
Catch ex As Exception
displayname = Nothing
End Try
Try
lastLogon = Convert.ToDateTime(obj.Members("LastLogonTime").Value.ToString)
Catch exc As Exception
lastLogon = Nothing
End Try
Next