Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
$error.Clear() #очищаем буфер ошибок Powershell
$erroractionpreference = «silentlycontinue» #подавляем вывод ошибок в консоль
$dnsresult = 0
$computername = $i.name #извлекаем имя станции
$dnsresult = [System.Net.Dns]::resolve("$computername")
if (!$error) #условие, если предыдущая команда не была завершена ошибкой
{
$ipaddress = $dnsresult.AddressList
$pingfunc = (New-Object system.net.networkinformation.ping).send("$ipaddress") #ping
if ($pingfunc.Status -eq «success»)
{
$sumreacheblepc++ #плюсуем обще количество доступных станций
$chrome = dir \\$ipaddress\C$\Program Files (x86)\Google\Chrome\Application\chrome.exe #проверка наличия Chrome
If ($chrome -ne $null) {write-host «Host $computername is reachable, use Chrome, and have ip $ipaddress»
$sumchrome++ #плюсуем количество станций с Chrome
}
$computername = $i.name
if (test-connection ) {
$sumreacheblepc++
if (test-path "\\$computername\C$\Program Files (x86)\Google\Chrome\Application\chrome.exe") {$sumchrome++}
}
$enablePCs = Get-ADComputer -Filter {enabled -eq $true}
Get-WmiObject -Class Win32_InstalledProgram -ComputerName <computername> | ?{$_.Name -like "*Chrome*"} | select Name, Version, Vendor
$enablePCs = Get-ADComputer -filter {enabled -eq $true} -SearchBase "OU=Computers,ou=someou,dc=somedomain,dc=corp"
$sumchrome = 0
$sumreacheblePC = 0
$sumunreacheblePC = 0
$pcwithoutchrome = 0
$enablePCs | ForEach-Object {
if(Test-Connection -ComputerName $_.Name){
$sumreacheblePC++
if((Get-WmiObject -Class Win32_InstalledProgram | ?{$_.Name -like "*Chrome*"}) -ne $null){$sumchrome++}else{$pcwithoutchrome++}
} else {$sumunreacheblePC++}
}
Сбор информации о рабочих станциях через Powershell