I have been looking around here but unable to get specifics on implementing this PowerShell cmdlet in C#. I attempted the following but failed to get it to compile and run.
The cmdlet I would like to run in PowerShell from C#:
Restart-Computer -Computername (Get-Content C:\machineslist.txt) -Credential Administrator -Force Here is my humble attempt:
PowerShell ps = PowerShell.Create(); ps.AddCommand("Restart-Computer"); ps.AddParameter("-ComputerName"); ScriptBlock filter2 = ScriptBlock.Create("(Get-Content C:\\machineslist.txt)"); ps.AddParameter("FilterScript2", filter2); ps.AddParameter("-Credential"); ps.AddArgument("Administrator"); //not sure how to add password ps.AddParameter("-Force"); foreach (PSObject result in ps.Invoke()) { Console.WriteLine( "{0,-24}{1}", result.Members["Length"].Value, result.Members["Name"].Value); } // End foreach
-is not a part of parameter name.