2016-07-08 4 views
1

Ich möchte alle verfügbaren Eigenschaften der Variablen $EventArgs auflisten, indem Sie es an get-member leiten. aber ich habe Probleme, die Mitglieder der automatischen Variablen $EventArgs zu bekommen.

In dem Beispiel kann ich sehen, dass sie die Eigenschaft erhalten. FullPath von der automatischen Variable $ EventArgs. Ich möchte einen Weg, um alle Eigenschaften aufzulisten, die vielleicht nützlich sind.

Alle Ideen, wie Sie die Mitglieder von $ EventArgs automatische Variable erhalten.

$watcher = New-Object System.IO.FileSystemWatcher 
$watcher.Path = "C:\" 
$watcher.IncludeSubdirectories = $true 
$watcher.EnableRaisingEvents = $true 
$watcher.Site 
$arrary = @() 

$watcher.Filter = "" 
Register-ObjectEvent $watcher "Created" -Action { 
    write-host "Created: $($eventArgs.FullPath)" 
    $arrary+= $EventArgs|gm 
    $arrary+= $EventArgs 
    write-host $EventArgs|gm 
    $EventArgs|gm 
} 

Antwort

1

Eine schnelle Möglichkeit, alle Eigenschaften (es gibt nur drei) zu sehen ist, dies zu tun:

Register-ObjectEvent $watcher "Created" -Action { 
    $eventArgs | Select-Object * | Write-Host 
} 

Allerdings werden Sie viel mehr nützliche Informationen erhalten, wenn Sie dies tun:

Register-ObjectEvent $watcher "Created" -Action { 
    Write-Host $eventArgs.GetType() 
} 

und suchen Sie dann den resultierenden Typ auf MSDN. Wenn Sie das tun, werden Sie sehen, dass $EventArgs tatsächlich ein Objekt vom Typ System.IO.FileSystemEventArgs ist, welches fully documented here ist. Sie werden nicht nur die drei Eigenschaften sehen, Sie werden sehen, was sie bedeuten. Zum Beispiel ist die erste Eigenschaft ChangeType wirklich eine Aufzählung des Typs System.IO.WatcherFileTypes, und Sie können alle verschiedenen Werte lernen, die es haben kann.