Hi community,
ich hoffe ich habe das richtige Unterforum erwischt...
Wie der Titel schon sagt versuche ich ein Powershell Skript aus C# aufzurufen, ohne Übergabeparameter funktioniert das auch gut, sobald aber welche dazukommen bekomme ich eine Exception (bei Zeile 20 im C# code), mit der ich leider nichts anfangen kann:
Ergänzung: Ich benutze MS Visual Studio 2008, .Net FW 3.5
C# Code:
Powershell Code:
Falls ihr evtl. eine Idee habt oder eine andere Lösung kennt die Parameter zu übergeben wäre ich sehr dankbar für jeglichen Input
Vielen Dank im Voraus
Gruß
MrCastle
ich hoffe ich habe das richtige Unterforum erwischt...
Wie der Titel schon sagt versuche ich ein Powershell Skript aus C# aufzurufen, ohne Übergabeparameter funktioniert das auch gut, sobald aber welche dazukommen bekomme ich eine Exception (bei Zeile 20 im C# code), mit der ich leider nichts anfangen kann:
Ausnahme beim Festlegen von "WindowTitle": "Diese Funktion kann nicht aufgerufen werden, da sie vom aktuellen Host nicht implementiert wird."
Ergänzung: Ich benutze MS Visual Studio 2008, .Net FW 3.5
C# Code:
Code:
static void Main(string[] args)
{
Runspace runspace = RunspaceFactory.CreateRunspace();
runspace.Open();
Command myCommand = new Command("E:\\path\\test.ps1");
CommandParameter param1 = new CommandParameter("vmname", "...");
myCommand.Parameters.Add(param1);
CommandParameter param2 = new CommandParameter("esxhost", "...");
myCommand.Parameters.Add(param2);
CommandParameter param3 = new CommandParameter("user", "...");
myCommand.Parameters.Add(param3);
CommandParameter param4 = new CommandParameter("pw", "...");
myCommand.Parameters.Add(param4);
Pipeline pipeline = runspace.CreatePipeline();
pipeline.Commands.Add(myCommand);
// Execute PowerShell script
Collection<PSObject> result = pipeline.Invoke();
runspace.Close();
}
Powershell Code:
Code:
param($vmname,$esxhost,$user,$pw)
$err = 0
if($err -eq 0)
{
# VM-copy preparation
Add-PSSnapin VMware.VimAutomation.Core
cd "C:\Program Files (x86)\VMware\Infrastructure\vSphere PowerCLI\Scripts"
.\\Initialize-PowerCLIEnvironment.ps1
Connect-VIServer -server $esxhost -User $user -Password $pw
# Create new VM
New-VM -name $vmname -vmhost $esxhost -memorymb 2048 #-diskmb 4000
}
Falls ihr evtl. eine Idee habt oder eine andere Lösung kennt die Parameter zu übergeben wäre ich sehr dankbar für jeglichen Input

Vielen Dank im Voraus
Gruß
MrCastle