Войти

Показать полную графическую версию : [решено] Многопоточный Test-Path


c4uran
08-10-2015, 16:38
Цель физически(по пути) на 600 компах(чтобы не долго работал скрипт) найти установленную 1с и вывалить все это в лог, как бы к этому прикрутить много поточность?


$computers = Get-ADComputer -Filter * -SearchBase "mydomain"
$Report = @()
foreach ($computer in $computers)
{
Try
{
$computername = $computer.name
Test-Connection $computer -Count 1 -Quiet -ErrorAction stop
}
Catch
{
$report += New-object PSObject -property @{
"Computer Name" = $computer.Name
"ErrorMessage" = "Unabe to contact"
}
Continue
}
$report += New-object PSObject -property @{
"ComputerName" = $computername
"ErrorMessage" = Test-Path "\\$computername\c$\Program Files\1cv8\8.3.6.2152"
}
}


$Report | Out-GridView

Iska
08-10-2015, 19:00
как бы к этому прикрутить много поточность? »
Групповой политикой «на машину», startup-скрипт. Результат пишется в базу данных (SQL/Jet/OLE DB) новой записью/обновлением существующей записи.

c4uran
09-10-2015, 09:23
Нет прав на гпо

Kazun
09-10-2015, 09:48
Самое простое использовать workflow:

$computers = Get-ADComputer -Filter "Enabled -eq '$true'" -SearchBase "mydomain"

workflow Get-Path1C {
param($ComputerName)

foreach -parallel($computer in $ComputerName) {
InlineScript {
$computername = $using:computer.name
if(Test-Connection $computername -Count 2 -Quiet)
{
New-Object PSObject -Property @{
"ComputerName" = $computername
"Result" = Test-Path -Path "\\$computername\c$\Program Files\1cv8\8.3.6.2152"
}
}
else
{
New-Object PSObject -Property @{
"ComputerName" = $computername
"Result" = "Unabe to contact"
}
}
}
}
}

Get-Path1C $computers | Select-Object ComputerName,Result | Out-GridView

c4uran
09-10-2015, 10:06
То что нужно, благодарю, не подскажите что почитать чтобы понять как workflow работает?

Kazun
09-10-2015, 10:12
Начать можно с ( а потом уже все что найдется по теме, если потребуется доп. информация):

Getting Started with Windows PowerShell Workflow - https://technet.microsoft.com/en-us/library/jj134242.aspx
Workflow documentation now live on TechNet - http://social.technet.microsoft.com/wiki/contents/articles/20742.powershell-workflow-survival-guide.aspx
Powershell Workflow Survival Guide - http://social.technet.microsoft.com/wiki/contents/articles/20742.powershell-workflow-survival-guide.aspx




© OSzone.net 2001-2012