Я пытаюсь передать результаты запроса LDAP (компьютеры) в мою функцию Powershell. Однако функция обрабатывает только одно значение. Вот пример кода:, имеющий проблемы с трубопроводом в функции powershell
Function Get-ComputerName {
Param(
[Alias('Computer','ComputerName','HostName')]
[Parameter(
Mandatory=$true,
Position=0,
ValueFromPipeline=$true
)]
[Object[]]$computers
)
if(-not($computers)) { Throw “You must supply at least one computer” }
foreach($computer in $computers) {
write-host $computer.Name
}
}
Когда я бегу:
Get-ADComputer -SearchBase 'OU="Devices",dc=FVWM1,dc=Local' -Filter '*' | Get-ComputerName
В результате только один компьютер имя напечатано, но там обязательно должно быть больше, чем один. Помогите! Благодарю.
Вы уверены, что функция процесса только первое значение, а не только в последний раз? – PetSerAl
Возможно, я должен сказать «одно значение» вместо «первого значения», поскольку, технически, я не уверен, где упадет тот, который выписан с помощью write-host. – Matt