Mon C# -programme devrait être en ouvrant effectuer une powershellfunction, ressemble à ceci:Comment puis-je utiliser une fonction powershell en multi-script?
function RunIE
{
$a = Get-ItemProperty HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion -name ProgramFilesDir
$path = $a.ProgramFilesDir + "\Internet Explorer\iexplore.exe"
& $path "www.heise.de" -extoff
Start-Sleep 6
$shell = (New-Object -COM Shell.Application)
$ie = @($shell.Application.Windows()) | Where-Object { $_.LocationUrl -like "*heise*" }
Write-Output $ie
}
$ScriptLog.Invoke([log4net.Core.Level]::Debug, "Funktionsdurchlauf durchgeführt")
Le journal à la fin sera écrit dans mon fichier journal. (Je pense donc que cela fonctionne.)
Au cours de la C# -programme exécute un autre script doit être mené, comme ceci:
...
$ie = RunIE
#here I get a mistake: "The term 'RunIE' is not recognized as the name of a
#cmdlet, function, script file, or operable program. Check the spelling of the
#name, or if a path was included, verify that the path is correct and try again."
$ie.Navigate2($path)
Start-Sleep 5
...
Comment puis-je utiliser ma fonction dans d'autres scripts, sans nouvelle/seconde invocation ? (Je pense que la solution doit créer en PowerShell.)
merci.
Que voulez-vous dire par "utiliser ma fonction sans invocation nouvelle/seconde"? Les fonctions sont utilisées par de nouvelles invocations. Ou voulez-vous juste éviter la duplication de code et l'analyse de nouveaux/seconds? Ou voulez-vous réellement que l'objet '$ ie' soit créé une seule fois? –