Я создал функцию, которая возвращает список атрибутов PowerShell, когда я передаю в него путь к скрипту. Я не могу получить доступ к значениям в объекте, где функция хранит их. По сути, эта функция предназначена для загрузки атрибутов рекламы внутри веб-сетки.
Попытка использования точки останова для отслеживания загрузки значений или нет. В основном значения загружаются с именами атрибутов и сохраненными в них строками из групп AD, которые я извлекаю через сценарии. Я получаю счет 6 пользователей, но возвращаемые значения выглядят как «Объектный объект», когда я загружаю их в текстовое поле. Я добавил скриншот значений при установке точки останова.
public List<SelectListItem> PowerShellExecutorLst(string scriptPath, string arg)
{
string outString = "";
var shell = PowerShell.Create();
shell.Commands.AddCommand(scriptPath).AddArgument(arg);
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());
}
List<string> result = outString.Split(new char[] { '\n' }).ToList();
List<SelectListItem> listItems = result.Select(s => new SelectListItem { Value = s, Text=s }).ToList();
shell.Dispose();
return listItems;
}
Мой сценарий:
$GroupName ='Test - Group'
$SamAccountName = Get-ADGroup -Filter { CN -eq $GroupName } -Properties SamAccountName | Select -ExpandProperty SamAccountName
#Getting Members of the Group - Not Storing Employee Number
Get-ADGroupMember -Identity $SamAccountName | where {$_.objectclass -eq 'user'} |
Get-ADUser -Properties displayname, samAccountName, ObjectGUID |
Select displayname, samAccountName, ObjectGUID
Примеры значений, хранящихся в моем объекте psObject:
@{displayname=User1; samAccountName=usr1; ObjectGUID=8a3fab53-4c8b-483d-89f0-e26de236a627}
@{displayname=User2; samAccountName=usr2; ObjectGUID=0a3fab53-4c8b-483d-89f0-e26de236a627}
@{displayname=User3; samAccountName=usr3; ObjectGUID=9a3fab53-4c8b-483d-89f0-e26de236a627}
Я просто хочу, чтобы эти значения заполнились внутри webGrid, но не могу понять, что возвращать из функции.