PowerShell импортирует и сортирует данные из CSV для автоматизации New-CMBoundary (SCCM) - PullRequest
0 голосов
/ 03 июля 2018

У меня есть CSV, который я обработал информацию о подсети при использовании CONCAT и некоторых других функций. У меня есть границы диапазона адресов и сайты, и я хочу автоматизировать создание границ диапазона IP-адресов SCCM с помощью PowerShell, файла CSV и командлета New-CMBoundary. Пожалуйста, смотрите ниже:

  • Колонка B - код сайта
  • Столбец F содержит диапазон, например, 192.168.1.0-192.168.1.254

Код до сих пор:

         'C:\Program Files (x86)\Microsoft Configuration Manager\AdminConsole\bin'
        Import-Module .\ConfigurationManager.psd1
        cd SCC:

                Get-CMSite

                $subnetranges = import-csv C:\subnets.csv
                $Site = $subnetranges | select -ExpandProperty "Site Code"
                $Range = $subnetranges | select -ExpandProperty "VLAN5 Range"

    ForEach ($subnet in $subnetranges) {

                    New-CMBoundary -DisplayName $Site -BoundaryType IPRange -Value $Range

    }

Это, очевидно, не совсем правильно. Вы видите, что я пытаюсь сделать? Как получить каждую строку из CSV в соответствующую переменную, но затем перечислить с помощью цикла ForEach? Если это даже самый лучший метод.

Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 04 июля 2018

Это ответ:

#import boundaries
$csv = Import-Csv C:\iprangescsvnew.csv
cd POS:
foreach($line in $csv){

            Write-host "Creating boundary for $($line.subnet)"
            New-CMBoundary -Name $line.'Name' -Type IPRange -Value $line.Value }
0 голосов
/ 03 июля 2018

Согласно этому сайту и главе, вы можете передать значения из CSV в командлет NEW-CMBOUNDARY.

http://www.dexterposh.com/2014/07/powershell-sccm-2012-boundaries.html

Это фактическое видео с работающим кодом: https://youtu.be/jjjigfddkm8

По сути, он просто передает import-csv c:\file.csv | new-cmboundary с тремя значениями: Имя, Тип, Значение, и это работает. Я скопировал это в T и не могу ни по любви, ни по деньгам заставить это работать. С помощью справки для этого командлета ввод конвейера не принимается. Как он получил входные данные из конвейера?

...