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

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

botkin1 24-02-2017 20:30 2714489

определить версию IE
 
Добрый День!
Необходимо получить версию IE
При выполнении скрипта, версия определяется только у ОС Windows 7 и моложе, но не извлекает данные для Windows XP, хотя сведения об ОС
заполняет. Подскажите где ошибка?
Код:

$Excel = New-Object -Com Excel.Application
$Excel.visible = $True
$Excel = $Excel.Workbooks.Add()

$Sheet = $Excel.Worksheets.Item(1)
$Sheet.Cells.Item(1,1) = "Имя компьютера"
$Sheet.Cells.Item(1,2) = "Версия IE"
$Sheet.Cells.Item(1,3) = "Операционная система"
$Sheet.Cells.Item(1,4) = "Service Pack"

$intRow = 2

$WorkBook = $Sheet.UsedRange
$WorkBook.Interior.ColorIndex = 19
$WorkBook.Font.ColorIndex = 11
$WorkBook.Font.Bold = $True

Filter Where-Online
{
    $ping = new-object System.Net.NetworkInformation.Ping
    trap {Write-Verbose "Ошибка пинга"; Continue}
    if ($ping.send($_).Status -eq "Success" ) { $_ }
        else {$_ | Out-File D:\unactive.txt -Append}
}
function Get-InternetExplorerVersionWMI {
 param ($PC)
 if ($Env:ProgramData -eq "True") {
 $hklm = 2147483650
 $key = "SOFTWARE\Microsoft\Internet Explorer\"
 $value = "svcVersion"
 $wmi2 = "\\$PC\root\default:stdRegProv"
 $wmi = [wmiclass]$wmi2
 $rpk = ($wmi.GetStringValue($hklm,$key,$value)).sValue
 }
 Else {
 $hklm = 2147483650
 $key = "SOFTWARE\Microsoft\Internet Explorer\"
 $value = "Version"
 $wmi2 = "\\$PC\root\default:stdRegProv"
 $wmi = [wmiclass]$wmi2
 $rpk = ($wmi.GetStringValue($hklm,$key,$value)).sValue
 
  }
 $OSName = (Get-QADComputer $PC).OSName
 $SP = (Get-QADComputer $PC).OSServicePack
 $Sheet.Cells.Item($intRow, 1) = $computer
 $Sheet.Cells.Item($intRow, 2) = $rpk
 $Sheet.Cells.Item($intRow, 3) = $OSName
 $Sheet.Cells.Item($intRow, 4) = $SP
 }
 
$computers = (Get-Content D:\IE.txt | Where-Online)
foreach($computer in $computers)
{
        Write-Host "Checking $computer";
        Get-InternetExplorerVersionWMI $computer
               
        $intRow = $intRow + 1
}
$WorkBook.EntireColumn.AutoFit()

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


Время: 22:38.

Время: 22:38.
© OSzone.net 2001-