2013-07-15 3 views
0

Я получил данные BIOS и сохранил его в файле HTML, но я не хочу, чтобы все данные были в файле, и мне также нужно отформатировать его, чтобы он мог удовлетворить мои требования.Получение необходимых столбцов в выводе HTML в Poweshell

Код:

$bios = get-wmiobject -class "Win32_BIOS" -namespace "root\CIMV2" 
[string]$body = $bios | ConvertTo-Html -As List| Out-File c:/d/d/Test.htm 
+1

данных может фильтроваться с помощью командлета 'Select-Object'. Что касается формата, соответствующего вашим требованиям: какие * * ваши требования? –

+0

Мне нужно, чтобы это было в табличной колонке – Zack

+0

Какую информацию вы хотите? Как Производитель, имя и т. Д.? –

ответ

0

Так на основе обсуждения в комментариях, я думаю, что вы ищете что-то вроде этого:

function GetCompInfoWork 
{ 
    param (
    [string]$computername,[string]$logfile 
    ) 
    $os = Get-WmiObject win32_operatingsystem -ComputerName $computername 
    $bios = Get-WmiObject win32_bios -ComputerName $computername 
    $disk = Get-WmiObject win32_logicalDisk -Filter "DeviceID= 'C:'" ` 
    -computername $computername 

    $obj = New-Object -TypeName PSObject 

    $obj | Add-Member -MemberType NoteProperty ` 
     -Name ComputerName -Value ($os.csname) 
    $obj | Add-Member -MemberType NoteProperty ` 
     -Name Manufacturer -Value ($bios.manufacturer) 
    $obj | Add-Member -MemberType NoteProperty ` 
     -Name SysDriveFree -Value ($disk.freespace/1GB -as [int]) 
    $obj | Add-Member -MemberType NoteProperty ` 
     -Name SerialNumber -Value ($bios.serialnumber) 
    $obj | Add-Member -MemberType NoteProperty ` 
     -Name Version -Value ($bios.version)    
    Write-Output $obj 
} 
function Get-CompInfo 
{ 
    param ([string[]]$computername,[string]$logfile) 

    BEGIN 
    { 
    $usedParamater = $False 
    if ($PSBoundParameters.ContainsKey('computername')) { 
     $usedParamater = $True 
     } 
    } 
    PROCESS { 
    if ($usedParamater) 
    { 
     foreach ($computer in $computername) 
     { 
      Getcompinfowork -computername $computer ` 
      -logfile $logfile 
     } 
    }   
    else 
    { 
     Getcompinfowork -computername $_ ` 
     -logfile $logfile 
    } 

    } 
    END {} 
} 

Get-CompInfo -computername localhost | ConvertTo-Html | Out-File C:\Output.html 
+0

FreeSpace: 16455 Размер: 25454 это показано на моем $ диске но мои шоу файла вывода следующих данные SysDriveSpace \t SysDriveFree почему это несоответствие – Zack

+0

Большое спасибо за вашу помощь, это было очень удобно :) – Zack

+0

@ user2540455 Рад, что я могу помочь. Я использую что-то похожее на этот скрипт на работе. Я просто изменил его, чтобы соответствовать вашим критериям. Вы выяснили несоответствие дискового пространства? –

0

Попробуйте это:

$freeSpace = (gwmi Win32_logicaldisk -Filter "DeviceID = 'C:'").FreeSpace 

gwmi Win32_BIOS ` 
    | select PSComputerName,Manufacturer,SerialNumber,Version, 
     @{n="AvailableSpace";e={[int]($freeSpace/1MB)}} ` 
    | ConvertTo-Html ` 
    | Out-File "C:/d/d/Test.htm" 
+0

я имел в виду жесткий диск доступное пространство Мне нужно, чтобы все это было в html-файле – Zack

+0

$ disk = ([wmi] "\ root \ cimv2: Win32_logicalDisk.DeviceID = 'c:'") «Количество свободного пространства C: имеет {0: #. 0} GB Total "-f ($ disk.FreeSpace/1GB) | write-output Мне нужны эти данные, которые также должны быть включены в html-файл вместе с другими данными. – Zack

+0

Добавлен бесплатный расчет дискового пространства. –

Смежные вопросы