Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Проверка условия через switch (http://forum.oszone.net/showthread.php?t=332142)

lox-ness 26-12-2017 17:28 2787171

Проверка условия через switch
 
Добрый День!
Продолжаем третировать, больше это никак не назвать, установку SCCM :)
Необходимо из списка ПК проверить доступность, получить IP адрес и в зависимости от ip адреса выполнить установку ПО. IP адрес получаем, копирование идет, но установка не стартует. Прошу снова помощи, что не правильно?
Код:

cls
Import-Csv "D:\sccm1.csv" | ForEach-Object {$cn = $_.cn

try {
                        $IP = Test-Connection $cn -Count 2 -ErrorAction Stop
 RESolve-dnsNAme -Name $cn -LlmnrNetbiosOnly | FT Name, IPAddress
 Copy-Item -Path \\sccm-00\Clientsp2\ccmsetup.exe -Force -Destination \\$cn\admin$\Temp
               
switch -regex ($cn.IPAddress)
{
"^10.2." {([wmiclass]"\\$cn\root\cimv2:Win32_Process").create("$env:systemroot\temp\ccmsetup.exe /mp:sccm-00 smssitecode=s50 fsp=sccm-50"); Break}
"^10.3." {([wmiclass]"\\$cn\root\cimv2:Win32_Process").create("$env:systemroot\temp\ccmsetup.exe /mp:sccm-00 smssitecode=s50 fsp=sccm-50"); Break}
}
}
Catch
{

                        $cn | Out-File -Append d:\noping.txt
                }
}


Kazun 26-12-2017 17:34 2787173

IP клиента в файле "D:\sccm1.csv" или все же в $IP? Если в $IP,то:

Код:

$IP = Test-Connection $cn -Count 2 -ErrorAction Stop | Select -First 1 | Foreach {$_.IPV4Address.IPAddressToString}

lox-ness 26-12-2017 17:39 2787174

в файле имена ПК, необходимо получить IP и выполнить устнановку

Kazun 26-12-2017 17:41 2787176

Тогда меняется две строчки.

1. $IP = Test-Connection $cn -Count 2 -ErrorAction Stop на
Код:

$IP = Test-Connection $cn -Count 2 -ErrorAction Stop | Select -First 1 | Foreach {$_.IPV4Address.IPAddressToString}
2.switch -regex ($cn.IPAddress) на
Код:

switch -regex ($IP)
Второй вариант, поменять строку:
1. RESolve-dnsNAme -Name $cn -LlmnrNetbiosOnly | FT Name, IPAddress на
Код:

$cn = RESolve-dnsNAme -Name $cn -LlmnrNetbiosOnly | Select Name, IPAddress
2. Copy-Item -Path \\sccm-00\Clientsp2\ccmsetup.exe -Force -Destination \\$cn\admin$\Temp на
Код:

Copy-Item -Path \\sccm-00\Clientsp2\ccmsetup.exe -Force -Destination "\\$($cn.Name)\admin$\Temp"

lox-ness 26-12-2017 17:52 2787179

Спасибо, Вам большое за помощь, реально уже взрыв мозга.
Понятно стало где ошибки


Время: 18:48.

Время: 18:48.
© OSzone.net 2001-