2016-06-12 8 views
1

Bitte erklären Sie mir, wie Powershell ScriptProperty zu verwenden ist.Powershell ScriptProperty zum Überprüfen des Pfads

Ich habe einige Tutorials überprüft, aber habe nur Informationen über die -property. Ich versuche, über Powershell Process Path zu überprüfen.

So ist Überprüfung get-process | get-member Und ich habe eine Menge MemberTypes: Methode, Eigenschaft, Noteproperty, Script

Aber ich kann nicht herausfinden, wie ScriptProperty zu verwenden.

Versuch an: Get-Process -Name bits| get-member -membertype scriptproperty | select-object scriptproperty Path Aber ich diesen Fehler:

Select-Object : A positional parameter cannot be found that accepts argument 'Path'. 
At line:1 char:65 
+ Get-Process -Name bits| get-member -membertype scriptproperty | select-object sc ... 
+                 ~~~~~~~~~~~~~~~~ 
    + CategoryInfo   : InvalidArgument: (:) [Select-Object], ParameterBindingException 
    + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.SelectObjectCommand 

Beispiel: (sorry für mein Englisch) Want Pfad für Notepad ++ Prozess, um zu versuchen zu definieren, ich versuche Weg für Prozess zu überprüfen, für Beispiel, wenn Sie Notepad ++ verwenden und wenn ich versuchen werde, diesen Befehl zu verwenden: Get-Process -Name notepad ++ | get-member -membertype scriptproperty | Where-Object Name -eq Pfad und den Prozesspfad nicht bereitstellt, nur eine solche Ausgabe:

 TypeName: System.Diagnostics.Process 

Name MemberType  Definition 
---- ----------  ---------- 
Path ScriptProperty System.Object Path {get=$this.Mainmodule.FileName;} 

Wie soll ich den Scriptbefehl verwenden Verfahrensweg zu bekommen? (Ich verstehe wirklich nicht)

Antwort

0

Sie möchten die ScriptProperty auszuwählen, in dem die die NamePath entspricht. So Sie suchen die Where-Object Cmdlets:

Get-Process -Name bits | get-member -membertype scriptproperty | Where-Object Name -eq Path 

Aber neben das, was Sie wollen? Ich fühle mich wie Sie nicht hier brauchen die Get-Member Cmdlets ...

Antwort auf Ihren Kommentar: Sie wollen die Path eines Prozesses abzurufen, so dass Sie brauchen nicht mit einem ScriptProperty Ärger, nur wählen Sie es:

Get-Process -Name bits | Select Path 
+0

Hallo, Vielen Dank für Ihre Antwort, ich mag das Script verstehen, wie zu benutzen und bekam einen Ausgang hat, habe ich Hauptbereich mit explanaition aktualisiert, was ich zu erreichen versuchen. wie ich solche scriptproperty, aber kann nicht bekommen eine ausgabe, die ich erwarte zu bekommen. Meine Erwartungen waren der Weg zum Prozess. Pfad ich glaube, sollte wie in der GUI in sein (Windows-Task-Manager> Prozess> openFileLocation) –

+0

Ja, Sie haben Recht! :) Es funktioniert, so dass es grundsätzlich keinen Unterschied gibt, kann ich es als einfache Eigenschaft verwenden? da ich verwirrt war, sah ich sccah erklärung: ScriptProperty System.Object Pfad {get = $ this.Mainmodule.FileName;} –

+0

Ja, Sie können es als eine einfache Eigenschaft verwenden. Sie können die 'Get-Member'-Eigenschaft einmal verwenden, um zu sehen, welche Eigenschaften/Methoden ein Objekt verfügbar macht, und dann weglassen und einfach auswählen ... –