Как передать список значений в скрипте powershell
Вот иам мониторинга памяти, загрузку процессора, загрузив файл txt. В котором txt-файл содержит список имен машин. Но мне нужно передать как массив или список скриптам, а не читать из txt-файла.
$Username = 'a'; $Password = 'aa' $pass = ConvertTo-SecureString -AsPlainText $Password -Force $Cred = New-Object System.Management.Automation.PSCredential -ArgumentList $Username,$pass Invoke-Command -ComputerName qachdc -ScriptBlock { $SFile = "C:\f\ServerList.txt" $ServerList = Get-Content $SFile -ErrorAction SilentlyContinue $Result = @() ForEach($computername in $ServerList) { $AVGProc = Get-WmiObject -computername $computername win32_processor | Measure-Object -property LoadPercentage -Average | Select Average $OS = gwmi -Class win32_operatingsystem -computername $computername | Select-Object @{Name = "MemoryUsage"; Expression = {“{0:N2}” -f ((($_.TotalVisibleMemorySize - $_.FreePhysicalMemory)*100)/ $_.TotalVisibleMemorySize) }} $vol = Get-WmiObject -Class win32_Volume -ComputerName $computername -Filter "DriveLetter = 'C:'" | Select-object @{Name = "C PercentFree"; Expression = {“{0:N2}” -f (($_.FreeSpace / $_.Capacity)*100) } } $result += [PSCustomObject] @{ ServerName = "$computername" CPULoad = "$($AVGProc.Average)%" MemLoad = "$($OS.MemoryUsage)%" CDrive = "$($vol.'C PercentFree')%" } $Outputreport = "" $OFS = "`r`n" Foreach($Entry in $Result) { $Outputreport += $OFS + $($Entry.Servername) + ";" + $($Entry.CPULoad) + ";" + $($Entry.MemLoad) + ";" + $($Entry.Cdrive) } } Write-Host $Outputreport } -credential $Cred
Что я уже пробовал:
я попробовал вышеприведенный код. Но я новичок в концепциях сценариев, я не знаю, как передать список или массив вместо чтения из txt-файла.