Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
I Configuration Manager återställer du maskinvaruinventeringscachen genom att ansluta till inventeringsagentens namnområde och ta bort inventeringens åtgärdsstatusinstans för maskinvaruinventering.
Återställa cacheminnet för maskinvaruinventering
Anslut till inventeringsagentens namnområde (root\ccm\invagt).
Ta bort lageråtgärdens statusinstans för maskinvaruinventering ({00000000-0000-0000-0000-000000000001}).
Exempel
Följande exempelmetod visar hur du återställer cacheminnet för maskinvaruinventering genom att ansluta till inventeringsagentens namnområde och ta bort inventeringens åtgärdsstatusinstans för maskinvaruinventering.
Information om hur du anropar exempelkoden finns i Anropa en Configuration Manager objektklassmetod med hjälp av WMI
Sub ResetHardwareInventoryCache()
' Get a connection to the "root\ccm\invagt" namespace.
Dim locator
Set locator = CreateObject("WbemScripting.SWbemLocator")
Dim services
Set services = locator.ConnectServer( , "root\ccm\invagt")
' Delete the specified InventoryActionStatus instance.
services.Delete "InventoryActionStatus.InventoryActionID='{00000000-0000-0000-0000-000000000001}'"
' Display message.
wscript.echo "Reset Hardware Inventory cache."
End Sub
// How to Reset the Hardware Inventory Cache
public void ResetHardwareInventoryCache()
{
try
{
// Define the scope (namespace).
ManagementScope inventoryAgentScope = new ManagementScope(@"root\ccm\invagt");
// Load the class that you want to work with.
ManagementClass inventoryClass = new ManagementClass(inventoryAgentScope.Path.Path, "InventoryActionStatus", null);
// Query the class for the InventoryActionID object (create query, create searcher object, execute query).
ObjectQuery query = new ObjectQuery("SELECT * FROM InventoryActionStatus WHERE InventoryActionID = '{00000000-0000-0000-0000-000000000001}'");
ManagementObjectSearcher searcher = new ManagementObjectSearcher(inventoryAgentScope, query);
ManagementObjectCollection queryResults = searcher.Get();
// Enumerate the collection to get to the result (there should only be one item returned from the query).
foreach (ManagementObject result in queryResults)
{
// Display message and delete the object.
Console.WriteLine("Resetting Hardware Inventory cache.");
result.Delete();
}
}
catch (System.Management.ManagementException ex)
{
Console.WriteLine("Failed to run action. Error: " + ex.Message);
throw;
}
}
Kompilera koden
Det här C#-exemplet kräver:
Namnområden
System.Management
Robust programmering
Mer information om felhantering finns i Om Configuration Manager fel.
.NET Framework Säkerhet
Mer information om hur du skyddar Configuration Manager program finns i Configuration Manager rollbaserad administration.
Se även
Configuration Manager Software Development Kit
Om Configuration Manager inventering