Fråga : Powershell WMI Query

Hälsningar

I har skriftligt en Powershell att skriva för att query någon information om våra serveror. Jag undrade, om någon kunde berätta mig att hur man utelämnar uttrycker ”Hotfix” och ”uppdateringen” från att vara skriftligt till överträffaräknearket? Också in - mellan programförteckningarna, det finns ibland enorma mellanrum betweeen program. Kan du behaga berättar mig vad orsakar detta och hur man fixar den?

Thank you
> för
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
" codeBody " " notpretty class= " för $strComputer = ”.”, $Excel = Ny-Anmärker - Com Excel.Application $Excel.visible = $True $Excel = $Excel.Workbooks.Add () $Sheet = $Excel.WorkSheets.Item (1) $Sheet.Cells.Item (1.1) = ”dator”, $Sheet.Cells.Item (1.2) = ”drev märker”, $Sheet.Cells.Item (1.3) = ”beskrivning”, $Sheet.Cells.Item (1.4) = ”FileSystem”, $Sheet.Cells.Item (1.5) = ”storleksanpassar i GB”, $Sheet.Cells.Item (1.6) = ”fritt utrymme i GB”, $WorkBook = $Sheet.UsedRange $WorkBook.Interior.ColorIndex = 8 $WorkBook.Font.ColorIndex = 11 $WorkBook.Font.Bold = $True $intRow = 2 $colItems = Får-wmiObject - klassificera ”Win32_LogicalDisk” - namespace-”rotar \ CIMV2” `, - computername $strComputer foreach ($objItem i $colItems) { $Sheet.Cells.Item ($intRow, 1) = $objItem.SystemName $Sheet.Cells.Item ($intRow, 2) = $objItem.DeviceID $Sheet.Cells.Item ($intRow, 3) = $objItem.Description $Sheet.Cells.Item ($intRow, 4) = $objItem.FileSystem $Sheet.Cells.Item ($intRow, 5) = $objItem.Size/1GB $Sheet.Cells.Item ($intRow, 6) = $objItem.FreeSpace/1GB $intRow = $intRow + 1 $WorkBook.EntireColumn.AutoFit () } $Sheet = $Excel.WorkSheets.Item (1) $Sheet.Cells.Item (7.1) = ”produkt”, $Sheet.Cells.Item (7.2) = ”försäljare”, $Sheet.Cells.Item (7.3) = ”version”, $Sheet.Cells.Item (7.4) = ”installerar daterar”, $intRow = 7 $Keys = Får-ChildItem HKLM: \ Programvara \ Microsoft \ Windows \ CurrentVersion \ Uninstall $Items = $keys |foreach-anmärka {Få-ItemProperty $_.PsPath}, foreach ($item i $items) { $Sheet.Cells.Item ($intRow, 1) = $Item.DisplayName $Sheet.Cells.Item ($intRow, 2) = $Item.Publisher $Sheet.Cells.Item ($intRow, 3) = $Item.DisplayVersion $Sheet.Cells.Item ($intRow, 4) = $Item.InstallDate $intRow = $intRow + 1 $WorkBook.EntireColumn.AutoFit () } Frikänd
" klar "

Svar : Powershell WMI Query

Hi Brent,

Jag har gjort några tweaks som bör göra vad du söker efter.  Jag ska postar igen förklaring kort av varje ändring.

Jubel,

D
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
$strComputer = ”.”,

$Excel = Ny-Anmärker - Com Excel.Application
$Excel.visible = $True
$Excel = $Excel.Workbooks.Add ()

$Sheet = $Excel.WorkSheets.Item (1)
$Sheet.Cells.Item (1.1) = ”dator”,
$Sheet.Cells.Item (1.2) = ”drev märker”,
$Sheet.Cells.Item (1.3) = ”beskrivning”,
$Sheet.Cells.Item (1.4) = ”FileSystem”,
$Sheet.Cells.Item (1.5) = ”storleksanpassar i GB”,
$Sheet.Cells.Item (1.6) = ”fritt utrymme i GB”,


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

$intRow = 2
$colItems = Får-wmiObject - klassificera ”Win32_LogicalDisk” - namespace-”rotar \ CIMV2” `,
- computername $strComputer

foreach ($objItem i $colItems) {
$Sheet.Cells.Item ($intRow, 1) = $objItem.SystemName
$Sheet.Cells.Item ($intRow, 2) = $objItem.DeviceID
$Sheet.Cells.Item ($intRow, 3) = $objItem.Description
$Sheet.Cells.Item ($intRow, 4) = $objItem.FileSystem
$Sheet.Cells.Item ($intRow, 5) = $objItem.Size/1GB
$Sheet.Cells.Item ($intRow, 6) = $objItem.FreeSpace/1GB

$intRow = $intRow + 1

$WorkBook.EntireColumn.AutoFit ()

}

$intRow = $intRow + 1

$Sheet = $Excel.WorkSheets.Item (1)
$Sheet.Cells.Item ($introw, 1) = ”produkt”,
$Sheet.Cells.Item ($introw, 2) = ”försäljare”,
$Sheet.Cells.Item ($introw, 3) = ”version”,
$Sheet.Cells.Item ($introw, 4) = ”installerar daterar”,

$introw = $introw + 1
$Keys = Får-ChildItem HKLM: \ Programvara \ Microsoft \ Windows \ CurrentVersion \ Uninstall

$Items = $keys | foreach-anmärka {Få-ItemProperty $_.PsPath}, | var-anmärka {($_.DisplayName - notmatch”uppdatering|Hotfix”) - och ($_.DisplayName - ne $null)}

foreach ($item i $items) {
$Sheet.Cells.Item ($intRow, 1) = $Item.DisplayName
$Sheet.Cells.Item ($intRow, 2) = $Item.Publisher
$Sheet.Cells.Item ($intRow, 3) = $Item.DisplayVersion
$Sheet.Cells.Item ($intRow, 4) = $Item.InstallDate

$intRow = $intRow + 1

}

$WorkBook.EntireColumn.AutoFit ()

Frikänd
Andra lösningar  
 
programming4us programming4us