ich ein Beispielprogramm geschrieben haben, die Hello World
und erstellt NSIS
Datei schreiben wird und ausgeführt, die gut für mich funktioniertNSIS Import Powershell-Modul mit Parametern
Mein .nsi
Skript geht als
!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
folgt dem das Drucken der Schreib-Host wie geschrieben, wenn ich es ausgeführt habe
Mein Code in .psm1
Datei
# Filename: Hello.psm1
Write-Host
Write-Host 'Hello World!'
Write-Host "Good-bye World! `n"
# end of script
ich das gleiche mit den Parametern zu erreichen versuche, kann mir jemand
# Filename: TestParameter.psm1
function TestParam([string] $TestParam)
{
Write-Host
Write-Host '$TestParam'
Write-Host "Good-bye $TestParam! `n"
}
# end of script
Aber mir ist Modul-Datei, so wie kann ich tun, dass – Dotnet
nicht funktionierte, als ich es als Skript machen execute, '" ImportModules "ausgedruckt: Import-Modul: Es wurde kein Parameter gefunden, der dem Parameternamen 'TestParam' entspricht. Bei Zeile: 1 Zeichen: 58 + ... rt-Modul C: \ PowerShell \ TestParameter.ps1 -TestParam Hallo-W ... + ~~~~~~~~~ + CategoryInfo: InvalidArgument: (:) [Import-Module], ParameterB indingException + FullyQualifiedErrorId: NamedParameterNotFound, Microsoft.PowerShell.Comm ands.ImportModuleCommand Completed ' – Dotnet
@Dotnet sie nicht das' Import-Module' Cmdlets verwenden, entfernte ich es absichtlich aus dem Beispiel in meiner Antwort –