Ich muss etwas einfach hier fehlen.PowerShell GetHelp nur Dateiname der script.ps1-Datei zurück
Ich habe einige Hilfe Kommentare in einer meiner Funktionen in meiner ps1-Datei implementiert:
<#
.SYNOPSIS
Adds a file name extension to a supplied name.
.DESCRIPTION
Adds a file name extension to a supplied name.
Takes any strings for the file name or extension.
.PARAMETER Name
Specifies the file name.
.PARAMETER Extension
Specifies the extension. "Txt" is the default.
.INPUTS
None. You cannot pipe objects to Add-Extension.
.OUTPUTS
System.String. Add-Extension returns a string with the extension or file name.
.EXAMPLE
C:\PS> extension -name "File"
File.txt
#>
Wenn ich ausführen, um die Get-Help „Name Funktion“ direkt nach der Funktion und die ps1-Skript über Powershell-Fenster ausführen Ich bekomme die richtige Antwort.
Nun, ich bin mit dem Code von hier: http://ben.neise.co.uk/scriptdocumentationinmarkdown/
Das ist wohl etwas Abschriften Dokumentation der Hilfe Kommentare in meinen Skript-Dateien zu generieren. Beim Ausführen bekomme ich den Fehler:
(GenerateScriptDocumentationInMarkdown ist der Funktionsname).
Die Linie es Fehler ist die Linie, wo ich die Funktion mit einigen Dateipfade nennen:
GenerateScriptDocumentationInMarkdown -SourceScriptFolder "C:\****\testScripts" -DocumentationOutputFolder "C:\****\GeneratingMarkdownFileTest" -DocumentationIndexPath "C:\****\GeneratingMarkdownFileTest\scripts_Ps1.markdown"
Was bedeutet die ‚Inline-Hilfe nicht für Skript gefunden‘, Fehler?
EDIT
Hier ist, wo es im Skript fehlschlägt:
$help = Get-Help $script.FullName -ErrorAction "SilentlyContinue"
if ($help.getType().Name -eq "String"){
# If there's no inline help in the script then Get-Help returns a string
Write-Error -Message "Inline help not found for script $($script.FullName)"
} else {
Hinweis die Bedingung geprüft wird, ob die .Name vom Typ String ist. Sieht für mich so aus, dass die Get-Hilfe meines Skripts nicht zurückgibt, was es erwartet.
Ich würde erwarten, dass die 'get-help {pathtofile.ps1}'
alle Kommentare in der Skriptdatei zurückgeben würde, aber alles, was es zurückgibt, ist der Name des Skripts?
Leider @BaconBits i hinzufügen, vergessen, wo sie versagt. Ich habe einen neuen Kommentar hinzugefügt. Es sieht so aus, als ob die get-help nicht die erwarteten Ergebnisse zurückgibt und nur den Namen der Skriptdateien zurückgibt. Irgendwelche Ideen ? – thatOneGuy
Warte, du hast Hilfe in * einer der Funktionen * in einer Datei implementiert? Die Hilfe, die Sie versuchen, ist nicht Inline-Hilfe für ein Scriptlet? 'Get-Help' gibt nur Hilfe für das Element der obersten Ebene zurück. Sie müßten die Funktionsdefinition laden und dann 'Get-Help {Funktionsname}' ausführen, und das Skript, das Sie verwenden, ist nicht dafür gebaut. –
@BaconBits danke für die Hilfe, es geschafft zu lösen. Siehe Antwort unten :) – thatOneGuy