none
parameter hilfe grundlagen RRS feed

  • Frage

  • Hallo zusammen,

    ich versuche gerade die Hilfe etwas mehr zu verstehen:

    Beispiel

    1. get-help restart-Computer -Parameter *Computer* oder "*Computer*" geht leider nicht da hier kein like * erlaubt ist.

    lässt sich das aus der Hilfe herauslesen?

    2. eine Kombination von paramertern ist auch nicht immer erlaubt

    PS H:\> get-help restart-computer -parameter whatif -showwindow
    Get-Help : Der Parametersatz kann mit den angegebenen benannten Parametern nicht aufgelöst werden.
    In Zeile:1 Zeichen:1
    + get-help restart-computer -parameter whatif -showwindow

    lässt sich das auch aus der Hilfe herauslesen? Liegt es daran, dass dies ein SwitchParameter ist? und man diese nicht mit Named Parametern mischen darf.

        -ShowWindow <SwitchParameter>        Displays the help topic in a window for easier reading. The window includes a Find search feature and a Settings box that lets you set options for the display. These include options to display only selected sections of a help topic.                Erforderlich?                  true        Position?                      named        Standardwert                   False        Pipelineeingaben zulassen?     False        Platzhalterzeichen zulassen?   false


    Chris

    Donnerstag, 15. Dezember 2016 15:17

Antworten

  • Hallo Chris,

    meines Wissen gibt es für den Befehl get-help keinen Parameter wo "Computer" vorkommt.

    Meinst du vielleicht so was?

    get-help restart-Computer  -full


    Benjamin Hoch
    MCSE: Data Platform
    MCSE: Data Management and Analytics
    MCSA: SQL Server 2012/2014
    MCSA: Windows Server 2012
    Blog

    • Als Antwort markiert -- Chris -- Donnerstag, 15. Dezember 2016 17:31
    Donnerstag, 15. Dezember 2016 15:32
  • Es mag im ersten Moment verwirren, aber "Get-Help Get-Help -Full" zeigt Dir die Hilfe für die Hilfe an. Wenn Du den Parameter kennst, kannst Du ihn auch angeben:

    Get-Help Restart-Computer -Parameter ComputerName

    Was meinst Du mit auslesen? Du kannst die Ausgabe in eine Datei umleiten - das geht.

    Welche Parameter mit welchen kombinierbar sind, erkennst Du an den verschiedenen Parameter-Sets.


    Grüße - Best regards

    PS:> (79,108,97,102|%{[char]$_})-join''


    • Bearbeitet BOfH-666 Donnerstag, 15. Dezember 2016 15:36
    • Als Antwort markiert -- Chris -- Donnerstag, 15. Dezember 2016 17:30
    Donnerstag, 15. Dezember 2016 15:35
  • Ist das ne Frage? Dann fehlt da ein Fragezeichen.  ;-)

    Wenn Du Dir die Hilfe für Restart-Computer anzeigen lässt, dann siehst Du unter dem "Kapitel" Syntax, dass da zweimal eine komplette Kommandozeile mit allen möglichen Parameter angezeigt wird. Das sind 2 Parameter-Sets. Du kannst alle Parameter miteinander kombinieren, die in einem Parameter-Set aufgeführt sind - auch wenn es bei manchen keinen Sinn macht, sie miteinander zu kombinieren.

    Ich empfehle Dir ein weiteres Mal dringend die Grundlagen von Powershell zu lernen. Damit ersparst Du Dir eine Menge unnütze Frustration und lernst auch, wie Du Dir Hilfe holst bzw. die zur Verfügung stehende Hilfe nutzt. Hier sind zwei Video-Kurse direkt von der Microsoft Virtual Academy. Da kannst Dich mit dem nötigen Wissen berieseln lassen.  ;-)

    Windows Powershell für Einsteiger

    und weiterführend:

    Tools und Scripterstellung mit Powershell


    Grüße - Best regards

    PS:> (79,108,97,102|%{[char]$_})-join''

    • Als Antwort markiert -- Chris -- Donnerstag, 15. Dezember 2016 17:30
    Donnerstag, 15. Dezember 2016 17:27
  • > *Kann man aus der Hilfe erkennen ob ein Wildcard erlaubt ist? vom Typ String sind sie ja alle*
     
    Manchmal ja, manchmal nein :)
     
    > [PS] C:\windows\system32>get-process -name *w*
     
    Das geht, da das Ziel der Suche eindeutig definiert ist: Prozesse auf dem lokalen Computer.
    (In solchen Fällen geht es "oft", aber nicht immer.)
     
    > [PS] C:\windows\system32>get-process -computername *pca*
     
    Das geht nicht, weil das Ziel der Suche nicht eindeutig ist. Wo sollen die Computer gesucht werden - AD, Workgroup, CSV? :-)
     
    Im Zweifel:
     
    PS Y:\Dokumente\GitHub> get-help get-process -Parameter name
     
    -Name <String[]>
        Gibt einen oder mehrere Prozesse mit ihrem Prozessnamen an. Sie können mehrere Prozessnamen eingeben (getrennt durch Kommas) und Platzhalterzeichen
        verwenden. Der Parametername (Name) ist optional.
       
        Erforderlich?                false
        Position?                    1
        Standardwert
        Pipelineeingaben akzeptieren?True (ByPropertyName)
        Platzhalterzeichen akzeptieren?true
       
     
    • Als Antwort markiert -- Chris -- Freitag, 16. Dezember 2016 09:17
    Freitag, 16. Dezember 2016 08:56

  • Kann man aus der Hilfe erkennen ob ein Wildcard erlaubt ist? vom Typ String sind sie ja alle


    Kann mann. 

    x64-PS:>get-help Get-Process -Parameter computername
    
    -ComputerName [<String[]>]
        Specifies the computers for which this cmdlet gets active processes. The default is the local computer.
    
        Type the NetBIOS name, an IP address, or a fully qualified domain name (FQDN) of one or more computers. To specify the local computer, type the computer name, a dot (.), or
        localhost.
    
        This parameter does not rely on Windows PowerShell remoting. You can use the ComputerName parameter of this cmdlet even if your computer is not configured to run remote
        commands.
    
        Required?                    false
        Position?                    named
        Default value                none
        Accept pipeline input?       True (ByPropertyName)
        Accept wildcard characters?  false

    ... als letzte Angabe siehst Du ob Wildcards erlaubt sind. Nicht wundern: Manchmal gibt es widersrpüchliche Angaben dazu in der Parameterbeschreibung und in der tabellarischen Übersicht eines Parameters. ... .einfach ausprobieren! ;-)


    Grüße - Best regards

    PS:> (79,108,97,102|%{[char]$_})-join''

    • Als Antwort markiert -- Chris -- Freitag, 16. Dezember 2016 09:17
    Freitag, 16. Dezember 2016 08:59

Alle Antworten

  • Hallo Chris,

    meines Wissen gibt es für den Befehl get-help keinen Parameter wo "Computer" vorkommt.

    Meinst du vielleicht so was?

    get-help restart-Computer  -full


    Benjamin Hoch
    MCSE: Data Platform
    MCSE: Data Management and Analytics
    MCSA: SQL Server 2012/2014
    MCSA: Windows Server 2012
    Blog

    • Als Antwort markiert -- Chris -- Donnerstag, 15. Dezember 2016 17:31
    Donnerstag, 15. Dezember 2016 15:32
  • Es mag im ersten Moment verwirren, aber "Get-Help Get-Help -Full" zeigt Dir die Hilfe für die Hilfe an. Wenn Du den Parameter kennst, kannst Du ihn auch angeben:

    Get-Help Restart-Computer -Parameter ComputerName

    Was meinst Du mit auslesen? Du kannst die Ausgabe in eine Datei umleiten - das geht.

    Welche Parameter mit welchen kombinierbar sind, erkennst Du an den verschiedenen Parameter-Sets.


    Grüße - Best regards

    PS:> (79,108,97,102|%{[char]$_})-join''


    • Bearbeitet BOfH-666 Donnerstag, 15. Dezember 2016 15:36
    • Als Antwort markiert -- Chris -- Donnerstag, 15. Dezember 2016 17:30
    Donnerstag, 15. Dezember 2016 15:35
  • Hallo Benjamin,

    doch es gibt bei restart-computer die Möglichkeit einen Remote Computer zu Restarten.

    jetzt wäre doch nett wenn man bei der Hilfe eine -Parameter *Remote* verwenden könnte. ok, das geht aber nicht. Und dies wollte ich aus der Hilfe verstehen.

    vielleicht sollte man als Beispiel get-process *wmi* nehmen. wie erkennt man in der Hilfe das hier ein * erlaubt ist.

    das zweite ist man kann div. Parameter nicht mischen. Warum? ist dies aus der Hilfe ersichtlich?

    in diesem Beispiel darf man -parameter (unglücklicher Beispielname) nicht mit -showWindow mischen

    zb get-help restart-computer -parameter *  -showwindow


    Chris


    • Bearbeitet -- Chris -- Donnerstag, 15. Dezember 2016 16:58
    Donnerstag, 15. Dezember 2016 16:22
  • Parametersets: meint man damit 

    Switchparameter, Named Parameter und CommonParameter?


    Chris

    Donnerstag, 15. Dezember 2016 16:25
  • Ist das ne Frage? Dann fehlt da ein Fragezeichen.  ;-)

    Wenn Du Dir die Hilfe für Restart-Computer anzeigen lässt, dann siehst Du unter dem "Kapitel" Syntax, dass da zweimal eine komplette Kommandozeile mit allen möglichen Parameter angezeigt wird. Das sind 2 Parameter-Sets. Du kannst alle Parameter miteinander kombinieren, die in einem Parameter-Set aufgeführt sind - auch wenn es bei manchen keinen Sinn macht, sie miteinander zu kombinieren.

    Ich empfehle Dir ein weiteres Mal dringend die Grundlagen von Powershell zu lernen. Damit ersparst Du Dir eine Menge unnütze Frustration und lernst auch, wie Du Dir Hilfe holst bzw. die zur Verfügung stehende Hilfe nutzt. Hier sind zwei Video-Kurse direkt von der Microsoft Virtual Academy. Da kannst Dich mit dem nötigen Wissen berieseln lassen.  ;-)

    Windows Powershell für Einsteiger

    und weiterführend:

    Tools und Scripterstellung mit Powershell


    Grüße - Best regards

    PS:> (79,108,97,102|%{[char]$_})-join''

    • Als Antwort markiert -- Chris -- Donnerstag, 15. Dezember 2016 17:30
    Donnerstag, 15. Dezember 2016 17:27
  • Thx's

    bin ja gerade am lernen, allerdings  Powershell Buch - daher noch die vielen Fragen :-)

    PS (Videotipp von letztens  war ja in englisch)


    Chris

    Donnerstag, 15. Dezember 2016 17:30
  • Die MVA Videos haben üblicherweise Untertitel und die Powershell ist ja auch in großen Teilen in englisch - vielleicht probierst Du's einfach mal, wenn Du ein bissl Zeit übrig hast.

    ... welches Buch hast Du Dir denn zugelegt? Würdest Du es weiterempfehlen?


    Grüße - Best regards

    PS:> (79,108,97,102|%{[char]$_})-join''

    Donnerstag, 15. Dezember 2016 17:37
  • Falls noch nicht bekannt, als allgemeine Quellen-Sammlung zu Powershell eventuell auch interessant:

    Was braucht es, um Powershell Pro zu werden?

    Gruß TechnikSC885

    Donnerstag, 15. Dezember 2016 18:00
  • Scripting mit Windows Powershell 3.0 von Microsoft Press. War bisher kein Microsoft Press Fan (zu technisch - bei anderen Theme)  aber diese Buch ist anders und besser. Bin zwar erst am Anfang und ich bin ja kein Entwickler, komme von der Admin Seite  daher geht's nicht so schnell und habe auch nicht jeden Tag Zeit.

    Wie gesagt, derzeit noch am Anfang vom Buch (sehr interessant, auch für Newbie's gut aufgebaut) und daher noch viel über einfache Befehle, Hilfen und Cmdlets finden  (wie bei allen Powershell Grundkursen). Manches muss ich leider daher trotzdem noch hinterfragen und euch leider oft ans Ende der Geduld zu bringen. 

    Deine LINKs klingen interessant. Hoffe mir bleibt auch für die noch einmal Zeit. Da bräuchte man ja schon fast einen Urlaub um das alles zu verarbeiten.

    LG Chris


    Chris

    Donnerstag, 15. Dezember 2016 18:14
  • PS (Videotipp von letztens  war ja in englisch


    Also wenn Du deutsche PowerShell Videos bevorzugst, dann sieh dir die folgenden an:

    Click

    Beste Gruesse
    brima

    Donnerstag, 15. Dezember 2016 19:40
  •  Manches muss ich leider daher trotzdem noch hinterfragen und euch leider oft ans Ende der Geduld zu bringen. 

    Da freue ich mich schon drauf .... ich habe viiieeel Geduld.  ;-)

    Grüße - Best regards

    PS:> (79,108,97,102|%{[char]$_})-join''

    Donnerstag, 15. Dezember 2016 23:50
  • Das mit den Parametersets kannte ich noch nicht. Sehr informativ.

    Get-Process [[-Name] <String[]>] [-ComputerName <String[]>] [-FileVersionInfo ] [-Module ] [<Allgemeine Parameter>]   

    Get-Process [-ComputerName <String[]>] [-FileVersionInfo ] -Id <Int32[]> [-Module ] [<Allgemeine Parameter>]   

    Get-Process [-ComputerName <String[]>] [-FileVersionInfo ] -InputObject <Process[]> [-Module ] [<Allgemeine Parameter>]

    ich habe im Buch gelesen, wenn ein Parameter in eckiger Klammer ist kann man ihn auch weglassen. Aber das ist für dich eh nicht neu.

    get-process *w*

    Kann man aus der Hilfe erkennen ob ein Wildcard erlaubt ist? vom Typ String sind sie ja alle

    zb.

    [PS] C:\windows\system32>get-process -name *w*

    Handles  NPM(K)    PM(K)      WS(K)     CPU(s)     Id  SI ProcessName
    -------  ------    -----      -----     ------     --  -- -----------
        544      30    77560      91824              1040   1 dwm
        562      42    70320      71892              2588   0 GWCtlSrv
        248      25    12736      16536     259,17   6776   1 GWIdlMon
       1030      95   148256     184492       7,59   8924   1 powershell


    [PS] C:\windows\system32>get-process -computername *pca*
    get-process : Mit dem Remotecomputer konnte keine Verbindung hergestellt werden.
    In Zeile:1 Zeichen:1
    + get-process -computername *pca*


    Chris

    Freitag, 16. Dezember 2016 06:21
  • > *Kann man aus der Hilfe erkennen ob ein Wildcard erlaubt ist? vom Typ String sind sie ja alle*
     
    Manchmal ja, manchmal nein :)
     
    > [PS] C:\windows\system32>get-process -name *w*
     
    Das geht, da das Ziel der Suche eindeutig definiert ist: Prozesse auf dem lokalen Computer.
    (In solchen Fällen geht es "oft", aber nicht immer.)
     
    > [PS] C:\windows\system32>get-process -computername *pca*
     
    Das geht nicht, weil das Ziel der Suche nicht eindeutig ist. Wo sollen die Computer gesucht werden - AD, Workgroup, CSV? :-)
     
    Im Zweifel:
     
    PS Y:\Dokumente\GitHub> get-help get-process -Parameter name
     
    -Name <String[]>
        Gibt einen oder mehrere Prozesse mit ihrem Prozessnamen an. Sie können mehrere Prozessnamen eingeben (getrennt durch Kommas) und Platzhalterzeichen
        verwenden. Der Parametername (Name) ist optional.
       
        Erforderlich?                false
        Position?                    1
        Standardwert
        Pipelineeingaben akzeptieren?True (ByPropertyName)
        Platzhalterzeichen akzeptieren?true
       
     
    • Als Antwort markiert -- Chris -- Freitag, 16. Dezember 2016 09:17
    Freitag, 16. Dezember 2016 08:56

  • Kann man aus der Hilfe erkennen ob ein Wildcard erlaubt ist? vom Typ String sind sie ja alle


    Kann mann. 

    x64-PS:>get-help Get-Process -Parameter computername
    
    -ComputerName [<String[]>]
        Specifies the computers for which this cmdlet gets active processes. The default is the local computer.
    
        Type the NetBIOS name, an IP address, or a fully qualified domain name (FQDN) of one or more computers. To specify the local computer, type the computer name, a dot (.), or
        localhost.
    
        This parameter does not rely on Windows PowerShell remoting. You can use the ComputerName parameter of this cmdlet even if your computer is not configured to run remote
        commands.
    
        Required?                    false
        Position?                    named
        Default value                none
        Accept pipeline input?       True (ByPropertyName)
        Accept wildcard characters?  false

    ... als letzte Angabe siehst Du ob Wildcards erlaubt sind. Nicht wundern: Manchmal gibt es widersrpüchliche Angaben dazu in der Parameterbeschreibung und in der tabellarischen Übersicht eines Parameters. ... .einfach ausprobieren! ;-)


    Grüße - Best regards

    PS:> (79,108,97,102|%{[char]$_})-join''

    • Als Antwort markiert -- Chris -- Freitag, 16. Dezember 2016 09:17
    Freitag, 16. Dezember 2016 08:59