Quantcast
Channel: Windows PowerShell Forum
Viewing all articles
Browse latest Browse all 2314

Column in Listview wird nicht gefüllt

$
0
0

Wenn ich in meiner Listview folgenden code benutze werden die Zellen nicht gefüllt.

	        foreach ($SysEvent in $SysEvents) {
		    $Member = New-Object PSObject -Property @{

                Index = [String]$SysEvent.Index
                InstanceID = [String]$SysEvent.InstanceID
                TimeGenerated = [String]$SysEvent.TimeGenerated
		        EntryType = [String]$SysEvent.EntryType
                Source = [String]$SysEvent.Source
                Message = [String]$SysEvent.Message

    }

Benutze ich den folgenden code wird mir der Index angezeigt aber dafür der Computername nicht.

	        foreach ($SysEvent in $SysEvents) {
		    $Member = New-Object PSObject -Property @{
                PSComputerName = [String]$SysEvent.PSComputerName
                Index = [String]$SysEvent.Index
                InstanceID = [String]$SysEvent.InstanceID
                TimeGenerated = [String]$SysEvent.TimeGenerated
		        EntryType = [String]$SysEvent.EntryType
                Source = [String]$SysEvent.Source
                Message = [String]$SysEvent.Message

    }

  'PSComputerName','Index','InstanceID','TimeGenerated','EntryType','Source','Message'| %{Add-Column $_}

           'Index','InstanceID','TimeGenerated','EntryType','Source','Message'| %{Add-Column $_}

Verstehe einfach nicht was ich da falsch mache.

Hier ist der complete code:

        $btnSysEvents_Click={

            # Empty process bar
            $Progressbar.value = 0
            # Empty StatusBox
            $StatusBox.Text = ""
            # Empty StatusBoxTools
            $StatusBoxTools.Text = ""
            # Close Excel button
            CloseExcelBtn

	        getcomp
	        Initialize-Listview
	        $StatusBox.Text = "Machine Status:  Retrieving System Events from Computer $Comp..."

            'PSComputerName','Index','InstanceID','TimeGenerated','EntryType','Source','Message'| %{Add-Column $_}

         #  'Index','InstanceID','TimeGenerated','EntryType','Source','Message'| %{Add-Column $_}


            Resize-Columns
#	        Col0 = $lvMain.Columns[0].Text

            $Info = @()

            $SysEvents = Get-EventLog -ComputerName $Comp -LogName System -EntryType Error,Warning -Newest 50  #| select-object Index,InstanceID,TimeGenerated,EntryType,Source,Message


            $i=0
            ForEach ($SysEvent in $SysEvents) {
            $i++
            (($i / $SysEvents.count)*100)

            $progressbar.PerformStep()

    }
	        foreach ($SysEvent in $SysEvents) {
		    $Member = New-Object PSObject -Property @{
                PSComputerName = [String]$SysEvent.PSComputerName
                Index = [String]$SysEvent.Index
                InstanceID = [String]$SysEvent.InstanceID
                TimeGenerated = [String]$SysEvent.TimeGenerated
		        EntryType = [String]$SysEvent.EntryType
                Source = [String]$SysEvent.Source
                Message = [String]$SysEvent.Message

    }

		    $Info += $Member
	}

	        Start-Sleep -m 250

            if ($SysError){$StatusBox.Text = "Machine Status:  [$Comp] $SysError"}

            else{

		    $Info | %{
			$Item = New-Object System.Windows.Forms.ListViewItem($_.$Col0)

            $Item.UseItemStyleForSubItems = $False
			ForEach ($Col in ($lvMain.Columns | ?{$_.Index -ne 0})){
                $Field = $Col.Text
                $SubItem = $Item.SubItems.Add($_.$Field)
                If($Field -eq "EntryType") {
                If($_.EntryType -eq "Error") {
                $SubItem.BackColor = "red"       # Hintergrundfarbe Fehlermeldung
    }

                else {

                $SubItem.BackColor = "yellow"     # Hintergrundfarbe Warnmeldung

    }

}
                Else {

    }

}
			$lvMain.Items.Add($Item)

            CountProgress

    }

            $btnSysEventExcel.visible = $true

            $StatusBox.Text = "Machine Status:  50 newest System errors and warnings on Computer $Comp"

    }

            # besseres column resize
		    ForEach($Column in $lvMain.Columns) {
			$lvMain.AutoResizeColumn($Column.Index,([System.Windows.Forms.ColumnHeaderAutoResizeStyle]::ColumnContent))
	}

}





Viewing all articles
Browse latest Browse all 2314


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>