Эквивалент команды Select LINQ в Powershell?C#

Место общения программистов C#
Anonymous
Эквивалент команды Select LINQ в Powershell?

Сообщение Anonymous »

Я пытаюсь запустить следующий скрипт Powershell.

Код: Выделить всё

import-module ActiveDirectory

$computers = Get-ADComputer -filter * -SearchBase "OU=myOU,DC=vw,DC=local" | select-object name

Invoke-Command -ComputerName $computers -ScriptBlock {gpupdate /target:Computer}
Проблема в том, что $computers не является строкой[], как ожидает -ComputerName. На самом деле это массив ADComputer с одним параметром name.

Код: Выделить всё

# Get-ADComputer -filter * -SearchBase "OU=myOU,DC=vw,DC=local" | select-object name | Format-Custom

class ADComputer
{
name = PC1
}

class ADComputer
{
name = PC2
}

class ADComputer
{
name = PC3
}
Как правильно получить массив строк для имен? Если бы я работал на C#, я знаю, что это было бы

Код: Выделить всё

string[] computerNames = computers.Select(computer => computer.name).ToArray();
но я хочу научиться правильно это делать в Powershell.

Подробнее здесь: https://stackoverflow.com/questions/109 ... ct-command

Вернуться в «C#»