Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
Det här dokumentet beskriver hur du hanterar loggning av programvaruinventering, en funktion som hjälper datacenteradministratörer att enkelt logga Microsofts data för hantering av programvarutillgång för deras distributioner över tid. Det här dokumentet beskriver hur du hanterar loggning av programvaruinventering. Innan du använder Programvaruinventeringsloggning med Windows Server 2012 R2 kontrollerar du att Windows Update KB 3000850 och KB 3060681 är installerade på varje system som behöver inventeras. Inga Windows-uppdateringar krävs för Windows Server 2016. Den här funktionen körs lokalt på varje server som ska inventeras. Den samlar inte in data från fjärrservrar.
Funktionen Loggning av programvaruinventering kan också läggas till i två versioner av Windows Server före Windows Server 2012 R2. Du kan installera följande uppdateringar för att lägga till funktioner för loggning av programvaruinventering i Windows Server 2012 och Windows Server 2008 R2 SP1:
- Windows Server 2012 (Standard eller Datacenter Edition)
Note
Kontrollera att WMF 4.0 är installerat innan du tillämpar uppdateringspaketet nedan.
WMF 4.0-uppdateringspaket för Windows Server 2012: KB 3119938
Windows Server 2008 R2 SP1
Note
Kontrollera att WMF 4.0 är installerat innan du tillämpar uppdateringspaketet nedan.
Kräver .NET Framework 4.5
WMF 4.0-uppdateringspaket för Windows Server 2008 R2: KB 3109118
Det finns två primära metoder för inventering med den här funktionen:
Starta SIL-loggningsfunktionen för att samla in från SIL-datakällor och vidarebefordra nyttolasten över nätverket till ett angivet mål (URI) per timme.
Manuellt köra frågor mot SIL-data med PowerShell eller WMI vid valfritt intervall.
Start av SIL-loggning innebär viss planering och framsynthet, men har betydande fördelar jämfört med att manuellt köra frågor mot data. Användning av SIL-loggning har följande tre huvudsakliga fördelar för datacenteradministratörer:
En pågående historik (logg) kan samlas in över tid, vilket möjliggör flexibla och omfattande rapporter från en enda källa.
Datoridentifieringsutmaningar som är typiska för många inventeringsverktyg kan övervinnas.
Förtroendegränsutmaningar och behovet av utökade användarbehörigheter som är typiska för många inventeringsverktyg kan övervinnas samtidigt som en säkerhetsnivå upprätthålls, eftersom data krypteras via HTTPS med SSL.
Loggning av programvaruinventering installeras som standard, men loggning startas inte som standard. All konfiguration av loggning av programvaruinventering görs med PowerShell-cmdletar. Det finns bara några konfigurationsalternativ för loggning av programvaruinventering. Det här dokumentet beskriver dessa alternativ och deras avsedda syfte, samt de cmdletar som används för datainsamling (om du använder den andra metoden ovan).
I det här dokumentet
De konfigurationsalternativ som beskrivs i det här dokumentet är:
Att ta bort data som loggats av programvaruinventeringsloggning
[Säkerhetskopiera och återställa data som loggats av Software Inventory Logging]manage-software-inventory-logging.md#BKMK_Step5)
Läsa data som loggats och publicerats av programvarans inventeringsloggning
Arbeta med datum- och tidsinställningar i Windows Server Software Inventory Logging
Aktivera och konfigurera loggning av programvaruinventering på en monterad virtuell hårddisk
Använda loggning av programvaruinventering i en Windows Server 2012 R2 Hyper-V-miljö utan KB 3000850
Note
Det här avsnittet innehåller exempel på Windows PowerShell-cmdletar som du kan använda för att automatisera några av de procedurer som beskrivs. Mer information finns i Använda cmdletar.
Starta och stoppa loggning av programvaruinventering
Daglig insamling och vidarebefordran av programvaruinventering över nätverket måste aktiveras på en dator som kör Windows Server 2012 R2 för att logga programvaruinventering.
Note
Du kan använda PowerShell-cmdleten Get-SilLogging för att hämta information om tjänsten för loggning av programvaruinventering, inklusive om den körs eller stoppas.
Så här startar du loggning av programvaruinventering
Logga in på servern med ett konto som har lokal administratörsbehörighet.
Öppna PowerShell som administratör.
I PowerShell-prompten skriver du Start-SilLogging
Note
Det är möjligt att ange målet utan att ange ett tumavtryck för certifikatet, men om du gör det misslyckas vidarebefordrarna och data lagras lokalt i upp till ett standardvärde på 30 dagar (varefter de tas bort). När ett giltigt certifikathash har angetts för målet (och motsvarande giltiga certifikat har installerats i LocalMachine/Personal Store) vidarebefordras data som lagras lokalt till målet så länge målet har konfigurerats för att acceptera dessa data med det här certifikatet (se Software Inventory Logging Aggregator för mer information).
Stoppa loggning av programvaruinventering
Logga in på servern med ett konto som har lokal administratörsbehörighet.
Öppna PowerShell som administratör.
I PowerShell-prompten skriver du Stop-SilLogging
Konfigurera loggning av programvaruinventering
Det finns tre steg för att konfigurera loggning av programvaruinventering för att vidarebefordra data till en aggregeringsserver över tid:
Använd Set-SilLogging – TargetUri för att ange webbadressen till din aggregeringsserver (måste börja med "https://").
Använd Set-SilLogging – CertificateThumbprint för att ange tumavtryckshashen för ditt giltiga SSL-certifikat som ska användas för att autentisera dataöverföringarna till aggregeringsservern (aggregeringsservern måste konfigureras för att acceptera hash).
Installera ett giltigt SSL-certifikat (för ditt nätverk) i lokal dator/personlig lagring (eller /LocalMachine/MY) på den lokala servern för att vidarebefordra data från.
Det är bäst att slutföra de här stegen innan du använder Start-SilLogging. Om du vill använda dem när du har använt Start-SilLogging behöver du helt enkelt stoppa och starta SIL igen. Du kan också använda Publish-SilData-cmdleten för att säkerställa att aggregeringsservern har ett fullständigt komplement av data för den här servern.
En omfattande guide för att konfigurera SIL-ramverket som helhet finns i Software Inventory Logging Aggregator. I synnerhet om Publish-SilData genererar ett fel eller OM SIL-loggning misslyckas på annat sätt kan du läsa felsökningsavsnittet .
Loggning av programvaruinventering över tid
Om loggning av programvaruinventering startades av en administratör påbörjas insamling och vidarebefordran av data varje timme till aggregeringsservern (mål-URI). Den första överföringen är en fullständig datauppsättning med samma data som Get-SilData hämtar och visar i konsolen vid en specifik tidpunkt. Därefter gör SIL vid varje intervall en kontroll av data och vidarebefordrar endast en liten identifieringsbekräftelse till målaggregeringsservern om det inte sker någon ändring i data sedan den senaste samlingen. Om något värde har ändrats skickar SIL återigen en fullständig datauppsättning.
Important
Om mål-URI:n vid något intervall inte kan nås eller dataöverföringen över nätverket av någon anledning misslyckas, lagras data som samlas in lokalt i upp till ett standardvärde på 30 dagar (efter vilken tid den tas bort). Vid nästa tillfälle av lyckad vidarebefordran av data till målservern för aggregering kommer alla lokalt lagrade data att vidarebefordras och data lagrade i cache kommer att tas bort.
Visa loggningsdata för programvaruinventering
Utöver PowerShell-cmdletarna som beskrivs i föregående avsnitt kan ytterligare sex cmdletar användas för att samla in loggningsdata för programvaruinventering:
Get-SilComputer: Visar tidpunktsvärden för specifika server- och operativsystemrelaterade data, samt FQDN eller hostnamn för den fysiska värden, om det är tillgängligt.
Get-SilComputerIdentity (KB 3000850): Visar identifierare som används av SIL för enskilda servrar.
Get-SilData: Visar en tidpunktssamling med alla data för loggning av programvaruinventering.
Get-SilSoftware: Visar tidpunktsidentiteten för all programvara som är installerad på datorn.
Get-SilUalAccess: Visar det totala antalet unika klientenhetsbegäranden och klientanvändarbegäranden för servern från två dagar tidigare.
Get-SilWindowsUpdate: Visar en punkt-i-tid-lista över alla Windows-uppdateringar som är installerade på datorn.
Ett typiskt användningsfall för cmdletar för programvaruinventering är för en administratör att fråga programvaruinventeringen efter en insamling vid en given tidpunkt av alla data genom Get-SilSoftware.
Exempel på utdata
PS C:\> Get-SilData
ID : 961FF8A1-8549-4BEC-8DF6-3B3E32C26FFA
UUID : B49ACB4C-7D9C-4806-9917-AE750BB3DA84
VMGUID : E84CCCBD-0D0F-486B-A424-9780C7CF92E4
Name : Server01Guest.Test.Contoso.com
HypervisorHostName : Server01.Test.Contoso.com
ID : {F0C3E5D1-1ADE-321E-8167-68EF0DE699A5}
Name : Microsoft Visual C++ 2010 x86 Redistributable - 10.0.40219
InstallDate : 12/5/2013
Publisher : Microsoft Corporation
Version : 10.0.40219
ID : {89F4137D-6C26-4A84-BDB8-2E5A4BB71E00}
Name : Microsoft Silverlight
InstallDate : 3/20/2014
Publisher : Microsoft Corporation
Version : 5.1.30214.0
ChassisSerialNumber : 4452-0564-0284-2290-0113-6804-05
CollectedDateTime : 10/27/2014 4:01:33 PM
Model : Virtual Machine
Name : Server01Guest.Test.Contoso.com
NumberOfCores : 1
NumberOfLogicalProcessors : 1
NumberOfProcessors : 1
OSName : Microsoft Windows Server 2012 R2 Datacenter
OSSku : 8
OSSuite : 400
OSSuiteMask : 400
OSVersion : 6.3.9600
ProcessorFamily : 179
ProcessorManufacturer : GenuineIntel
ProcessorName : Intel(R) Xeon(R) CPU E5440 @ 2.83GHz
SystemManufacturer : Microsoft Corporation
Note
Utdata från den här cmdleten är desamma som alla andra Get-Sil-cmdletar för den här funktionen tillsammans, men tillhandahålls till konsolen asynkront så objektens ordning kanske inte alltid är densamma.
Det är inte nödvändigt att ha programvaruinventarieloggning igång för att använda Get-Sil cmdleten.
Ta bort data som loggats av programvaruinventering
Loggning av programvaruinventering är inte avsedd att vara en verksamhetskritisk komponent. Dess design är avsedd att påverka lokala systemåtgärder så lite som möjligt samtidigt som en hög tillförlitlighetsnivå upprätthålls. Detta gör också att administratören kan ta bort loggningsdatabasen för programvaruinventering manuellt och stödfiler (varje fil i katalogen \Windows\System32\LogFiles\SIL) för att uppfylla driftbehoven.
För att ta bort data som loggats av programvaruinventeringsloggning
I PowerShell stoppar du Loggning av programvaruinventering med kommandot Stop-SilLogging .
Öppna Utforskaren i Windows.
Gå till \Windows\System32\Logfiles\SIL\
Ta bort alla filer i mappen.
Säkerhetskopiera och återställa data som loggats av programvaruinventeringsloggning
Loggning av programvaruinventering lagrar tillfälligt datasamlingar varje timme om vidarebefordran över nätverket misslyckas. Loggfilerna lagras i katalogen \Windows\System32\LogFiles\SIL\. Säkerhetskopior av dessa loggningsdata för programvaruinventering kan göras med dina regelbundet schemalagda serversäkerhetskopior.
Important
Om det av någon anledning krävs en reparationsinstallation eller uppgradering av operativsystemet går alla loggfiler som lagras lokalt förlorade. Om dessa data är viktiga för åtgärder rekommenderar vi att du säkerhetskopierar dem innan du installerar det nya operativsystemet. När du har reparerat eller uppgraderat återställer du helt enkelt till samma plats.
Note
Om det av någon anledning blir viktigt att hantera kvarhållningstiden för data som loggas lokalt av SIL kan detta konfigureras genom att ändra registervärdet här: \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\SoftwareInventoryLogging. Standardvärdet är "30" i 30 dagar.
Läsa data som loggats och publicerats av Software Inventory Logging
Data som loggas av SIL men lagras lokalt (om vidarebefordran till mål-URI:n misslyckas) eller data som vidarebefordras till målaggregeringsservern lagras i en binär fil (för varje dags data). Om du vill visa dessa data i PowerShell använder du cmdleten Import-BinaryMiLog .
Säkerhet för loggning av programvaruinventering
Administrativa behörigheter på den lokala servern krävs för att hämta data från WMI och PowerShell-API:er för loggning av programvaruinventering.
För att kunna utnyttja den fullständiga funktionen för loggning av programvaruinventering för att vidarebefordra data till en aggregeringsplats kontinuerligt över tid (med timintervall) måste en administratör använda klientcertifikat för att säkerställa säkra SSL-sessioner för överföring av data via HTTPS. En grundläggande översikt över HTTPS-autentisering finns här: HTTPS-autentisering.
Alla data som lagras lokalt på en Windows Server (inträffar endast om funktionen startas men målet inte kan nås av någon anledning) är endast tillgänglig med administratörsbehörighet på den lokala servern.
Arbeta med datum- och tidsinställningar i Windows Server 2012 R2 Software Inventory Logging
När du använder Set-SilLogging -TimeOfDay för att ange den tid SIL-loggning körs måste du ange ett datum och en tid. Kalenderdatumet anges och loggning sker inte förrän datumet har nåtts, i lokal systemtid.
När du använder Get-SilSoftware eller Get-SilWindowsUpdate visar "InstallDate" alltid 12:00:00, ett meningslöst värde.
När Get-SilUalAccess används, visas "SampleDate" alltid som 23:59:00, vilket är ett meningslöst värde. Datum är relevanta data för dessa cmdlet-frågor.
Aktivera och konfigurera loggning av programvaruinventering på en monterad virtuell hårddisk
Loggning av programvaruinventering stöder även konfiguration och aktivering på virtuella datorer offline. De praktiska användningsområdena för detta är avsedda att omfatta både konfiguration av guldbilder för bred distribution över datacenter, samt konfiguration av slutanvändarbilder som går från en lokal till en molndistribution.
För att stödja dessa användningsområden har Software Inventory Logging registerposter associerade med varje konfigurerbart alternativ. Dessa registervärden finns under \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\SoftwareInventoryLogging.
| Function | Värdenamn | Data | Motsvarande cmdlet (endast tillgängligt i det operativsystem som körs) |
|---|---|---|---|
| Start-/stoppfunktion | CollectionState | 1 eller 0 | Start-SilLogging, Stop-SilLogging |
| Anger målaggregationspunkt i nätverket | TargetUri | string | Set-SilLogging -TargetURI |
| Anger certifikatets tumavtryck eller hash för certifikatet som används för SSL-autentisering för målwebbservern | CertificateThumbprint | string | Set-SilLogging -CertificateThumbprint |
| Anger datum och tid som funktionen ska starta (om värdet anges i framtiden enligt lokal systemtid) | CollectionTime | Förval: 2000-01-01T03:00:00 | Set-SilLogging -TimeOfDay |
Om du vill ändra dessa värden på en offline-VHD (VM OS som inte körs) måste en virtuell hårddisk först monteras och sedan kan följande kommandon användas för att göra ändringar:
Loggning av programvaruinventering kontrollerar dessa värden när operativsystemet startar och körs därefter.
Översikt över hur du använder loggning av programvaruinventering i Windows Server 2012 R2 utan KB-3000850
Följande ändringar av funktionen för loggning av programvaruinventering och standardinställningar har gjorts med KB-3000850:
Standardintervallet för insamling och vidarebefordran över nätverket när SIL-loggning startas ändras från dagligen till varje timme (slumpmässigt inom varje timme).
Standarddatanyttolasten minskades till att endast innehålla objekt från Get-SilComputer, Get-SilComputerIdentity och Get-SilSoftware.
Gäst som värd för kanalkommunikation i Hyper-V miljöer har tagits bort.
Använda programvaruinventeringsloggning i en Windows Server 2012 R2 Hyper-V miljö utan KB 3000850
Note
Den här funktionen tas bort med installationen av KB-3000850 uppdateringen.
När du använder programvaruinventarieloggning på en Windows Server 2012 R2-Hyper-V-värd är det möjligt att hämta SIL-data från Windows Server 2012 R2-gästmaskiner som körs lokalt, om SIL-loggning har startats på gästmaskinerna. Detta är dock bara möjligt när du använder Get-SilData och Publish-SilData Powershell-cmdletar, och endast möjligt med Windows Server 2012 R2 i både värd och gäst. Syftet med den här funktionen är att tillåta datacenteradministratörer som tillhandahåller virtuella gästdatorer (VMs) till hyresgäster eller andra enheter i ett stort företag att samla in mjukvaruinventeringsdata på hypervisor-värden och därefter vidarebefordra all denna data till en aggregator (eller mål-URI).
Nedan visas två exempel på hur utdata i PowerShell-konsolen skulle se ut (mycket förkortade) på en Windows Server 2012 R2-Hyper-V värd som kör en virtuell Windows Server 2012 R2-gästdator med SIL-loggning startad. Du märker att det första exemplet, som använder endast Get-SilData, matar ut all data från värddatorn som förväntat. Dessutom ingår alla SIL-data från gästen, men i ett komprimerat format. Om du vill expandera och visa dessa data från gästen klipper du bara ut och klistrar in kodfragmentet som används i det andra exemplet nedan. SIL-dataobjekt från gästen har alltid den virtuella datorns GUID associerat i objektet.
Note
Eftersom SIL-data matas ut i konsolen kommer objekt inte alltid att matas ut i förutsägelseordning när du använder cmdleten Get-SilData i dataströmmar. I de två exemplen nedan har texten färgkodats (blå för fysiska värddata och grön för virtuella gästdata) endast som ett belysande verktyg för det här dokumentet.
Se även
Kom igång med programvaruinventarie loggningSoftware Inventory Logging AggregatorSoftware Inventory Logging Cmdlets i Windows PowerShellImport-BinaryMiLogExport-BinaryMiLog