J'ai un problème similaire à cette question . Je veux obtenir toutes les fonctions d'un script PowerShell donné, mais la différence est que je ne veux pas exécuter le contenu du script et je ne veux pas exécuter les fonctions.
L'objectif est de pouvoir charger toutes les fonctions dans l'espace de travail afin de pouvoir extraire l'aide basée sur les commentaires de chaque fonction à des fins de documentation.
Quelqu'un a-t-il des astuces magiques pour charger les fonctions d'un fichier .ps1 sans exécuter tout le reste du code contenu dans ce fichier ?
J'ai pensé à utiliser [System.Management.Automation.PSParser]::Tokenize()
pour analyser le fichier script mais c'est beaucoup plus de travail que ce que je voudrais faire. Si quelqu'un a quelque chose de plus simple, j'en serais ravi.
# I want to load this to get the comment-based help
Function Invoke-Stuff {
<#
.SYNOPSIS
Stuff doer
.DESCRIPTION
It does lots of stuff
.EXAMPLE
Invoke-Stuff
#>
Write-Host "Stuff was done"
}
# But I don't want to execute any of this
$Items = Get-ChildItem
$Items | ForEach-Object {
Invoke-Stuff
}