J'ai écrit un exemple de programme qui va écrire Hello World
et créé le fichier NSIS
et exécuté qui fonctionne très bien pour moimodule PowerShell d'importation NSIS avec des paramètres
Mon script .nsi
se présente comme suit
!include "x64.nsh"
Name "nsExec Test"
OutFile "nsExecTest.exe"
#ShowInstDetails show
Section "Output to variable"
nsExec::ExecToStack 'powershell.exe "& "Import-Module C:\PowerShell\Hello.psm1"'
Pop $0
Pop $1
DetailPrint '"ImportModules" printed: $1'
SectionEnd
Quelle est l'impression l'hôte d'écriture tel qu'écrit quand je l'ai exécuté
Mon code dans .psm1
fichier
# Filename: Hello.psm1
Write-Host
Write-Host 'Hello World!'
Write-Host "Good-bye World! `n"
# end of script
Maintenant, je suis en train de réaliser la même chose avec les paramètres, quelqu'un peut me aider
# Filename: TestParameter.psm1
function TestParam([string] $TestParam)
{
Write-Host
Write-Host '$TestParam'
Write-Host "Good-bye $TestParam! `n"
}
# end of script
Mais le mien est le fichier du module, alors comment puis-je faire – Dotnet
N'a pas travaillé quand je fais comme script execute, '" ImportModules "est imprimé: Import-Module: Impossible de trouver un paramètre correspondant au nom du paramètre 'TestParam'. À la ligne: 1 char: 58 + ... Module rt: PowerShell \ TestParameter.ps1 -TestParam Bonjour-W ... + ~~~~~~~~~~ + CategoryInfo: InvalidArgument: (:) [import-Module], ParameterB indingException + FullyQualifiedErrorId: NamedParameterNotFound, Microsoft.PowerShell.Comm ands.ImportModuleCommand Terminé ' – Dotnet
@Dotnet ne pas utiliser l'applet de commande' import-module', je délibérément enlevé de l'exemple dans ma réponse –