Попытка передать аргумент (ы) или список аргументов в PowerShell Script Path при выполнении его через функцию C #.
Я использую функцию C #, чтобы получить список деталей из моего скрипта через функциюкоторый использует библиотеку System.Management.Automation для вызова команды powershell.Я передаю путь к файлу, поэтому скрипт работает отлично, когда он не требует никаких аргументов, однако, когда мне нужно передать их, он дает исключение User-UnHandled.
Значение в переменной scriptPath:
C:\Users\<username>\source\repos\MyProject\Shell\Get-SDC.ps1 'Test - Group'
Моя функция:
private string PowerShellExecutorStr(string scriptPath)
{
string outString = "";
var shell = PowerShell.Create();
shell.Commands.AddCommand(scriptPath);
var results = shell.Invoke();
if (results.Count > 0)
{
var builder = new StringBuilder();
foreach (var psObj in results)
{
builder.Append(psObj.BaseObject.ToString() + "\r\n");
}
outString = Server.HtmlEncode(builder.ToString());
}
shell.Dispose();
return outString;
}
Скрипт:
param($GroupName)
<Get-ADGroup Command to fetch Details of the Group using $GroupName as Parameter>
outString необходимо получить выходные данные скрипта PowerShell при передаче ему аргументов.