У меня проблемы с пониманием поведения моего сценария.Я создал модуль, который имеет метод для получения и фильтрации компьютеров в AD, который выглядит следующим образом:
function Get-FilteredADComputers {
$global:site = Read-Host '
Which site?
site1
site2
'
Clear-Host
$global:computerType = Read-Host '
Client
Server
'
$global:OU = "OU=$global:computerType,OU=Devices,OU=MyOU,OU=$global:site,OU=My OU,DC=mydomain,DC=.com"
$global:computerSelection = Get-ADComputer -Filter * -SearchBase $global:OU | select -ExpandProperty "Name" | sort
$global:computerSelection
$global:computers = @()
$global:filter = Read-Host '
Input computer filter. For all computers use a single *.'
$global:computers += $global:computerSelection | where {$_ -like "$global:filter"}
$global:computers
return $global:computers
}
Этот модуль импортируется в мой основной скрипт следующим образом:
Import-Module "$PSScriptRoot\Modules\SetInfo\SetInfo.psm1" -DisableNameChecking -Force
Теперь, когда я вызываю этот метод, он должен выводить во время выполнения, какие компьютеры он находит, и это работает, если я вызываю метод без назначенной ему переменной, например: Get-FilteredADComputers
, когда метод запускается, он выводит все компьютеры, на которых он работаетнаходит как надо.
Однако, если я вызываю метод и присваиваю его переменной this:
$filteredList = Get-FilteredADComputers
, во время выполнения он ничего не выводит.