0

BIOS データを取得して HTML ファイルに保存しましたが、すべてのデータをファイルに保存したくはありません。要件を満たすようにフォーマットする必要もあります。

コード:

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

2 に答える 2

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
于 2013-07-15T18:54:02.050 に答える