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.
Du visar information om månatlig användningssammanfattning i Configuration Manager med hjälp av klasserna SMS_MeteredFiles, SMS_MonthlyUsageSummary, SMS_MeteredUser och SMS_R_System.
Obs!
Mätningsdata sammanfattas endast med angivna intervall (som standard varje dag vid midnatt). Mätningsdata visas inte i sammanfattade data förrän sammanfattningsaktiviteten har körts.
Så här visar du information om månatlig användningssammanfattning
Konfigurera en anslutning till SMS-providern.
Hämta alla filer med dataförbrukning (SMS_MeteredFiles).
Hämta all information om månatlig filanvändningssammanfattning (SMS_MonthlyUsageSummary).
Hämta alla användare med dataförbrukning (SMS_MeteredUser).
Hämta alla datornamn (SMS_R_System).
Loopa igenom samlingarna och visa information efter behov.
Exempel
Följande exempelmetod visar sammanfattningsinformation om filanvändning med hjälp av klasserna SMS_MeteredFiles och SMS_FileUsageSummary .
Information om hur du anropar exempelkoden finns i Anropa Configuration Manager kodfragment.
Sub ViewMonthlySummary(connection)
' Get SMS_MeteredFiles - used to match FileID to a file name
' Build query to get all metered files.
meteredFilesQuery = "SELECT * FROM SMS_MeteredFiles"
' Run query.
Set meteredFiles = connection.ExecQuery(meteredFilesQuery, , wbemFlagForwardOnly Or wbemFlagReturnImmediately)
' Get SMS_MonthlyUsageSummary
' Build query to get all monthly summary information.
monthlyUsageSummaryQuery = "SELECT * FROM SMS_MonthlyUsageSummary"
' Run query.
Set monthlyUsageSummaries = connection.ExecQuery(monthlyUsageSummaryQuery, , wbemFlagForwardOnly Or wbemFlagReturnImmediately)
'Get SMS_MeteredUser
' Build query to get all metered users.
meteredUserQuery = "SELECT * FROM SMS_MeteredUser"
' Run query.
Set meteredUsers = connection.ExecQuery(meteredUserQuery, , wbemFlagForwardOnly Or wbemFlagReturnImmediately)
'Get computer names
' Build query to get all metered computers.
meteredComputerQuery = "SELECT * FROM SMS_R_System"
' Run query.
Set meteredComputers = connection.ExecQuery(meteredComputerQuery, , wbemFlagForwardOnly Or wbemFlagReturnImmediately)
For Each summary in monthlyUsageSummaries
For each meteredFile in meteredFiles
if meteredFile.MeteredFileID=summary.FileID then
wscript.echo "File Name:" & meteredFile.FileName
Exit For
end if
next
for each meteredUser in meteredUsers
if meteredUser.MeteredUserID=summary.MeteredUserID then
wscript.echo "User Name: " & meteredUser.FullName
Exit For
end if
next
wscript.echo "Usage Count:" & summary.UsageCount
wscript.echo "Terminal Service Usage Count:" & summary.TSUsageCount
for each computer in meteredComputers
if computer.ResourceId=summary.ResourceID then
wscript.echo "Computer:" & computer.Name
Exit For
end if
next
wscript.echo
Next
end sub
public void ViewMonthlySummaryInfo(WqlConnectionManager connection)
{
try
{
// Get SMS_MeteredFiles - used to match FileID to a file name.
// Build query to get all metered files.
string meteredFilesQuery = "SELECT * FROM SMS_MeteredFiles";
// Run meteredFiles query.
IResultObject meteredFiles = connection.QueryProcessor.ExecuteQuery(meteredFilesQuery);
// Get SMS_MonthlyUsageSummary.
// Build query to get all of the monthly file usage summary information.
string monthlyUsageSummaryQuery = "SELECT * FROM SMS_MonthlyUsageSummary";
// Run monthlyUsageSummaryQuery query.
IResultObject monthlyUsageSummaries = connection.QueryProcessor.ExecuteQuery(monthlyUsageSummaryQuery);
// Get SMS_MeteredUsers.
// Build query to get all of the metered users.
string meteredUserQuery = "SELECT * FROM SMS_MeteredUser";
// Run meteredUser query.
IResultObject meteredUsers = connection.QueryProcessor.ExecuteQuery(meteredUserQuery);
// Get computer names.
// Build query to get all the metered computers.
string meteredComputersQuery = "SELECT * FROM SMS_R_System";
// Run fileUsageSummary query.
IResultObject meteredComputers = connection.QueryProcessor.ExecuteQuery(meteredComputersQuery);
// Enumerate through the lists, outputs results as matches are found.
foreach (IResultObject summary in monthlyUsageSummaries)
{
foreach (IResultObject meteredFile in meteredFiles)
{
if (meteredFile["MeteredFileID"].StringValue == summary["FileID"].StringValue)
{
Console.WriteLine("File Name: " + meteredFile["FileName"].StringValue);
break;
};
};
foreach(IResultObject meteredUser in meteredUsers)
{
if (meteredUser["MeteredUserID"].StringValue == summary["MeteredUserID"].StringValue)
{
Console.WriteLine("User Name: " + meteredUser["FullName"].StringValue);
break;
}
};
Console.WriteLine("Usage Count: " + summary["UsageCount"].StringValue);
Console.WriteLine("Terminal Service Usage Count: " + summary["TSUsageCount"].StringValue);
foreach(IResultObject computer in meteredComputers)
{
if(computer["ResourceId"].StringValue == summary["ResourceID"].StringValue)
{
Console.WriteLine("Computer: " + computer["Name"].StringValue);
break;
}
};
//
Console.WriteLine(" ");
};
}
catch (SmsException ex)
{
Console.WriteLine("Failed. Error: " + ex.InnerException.Message);
throw;
}
}
Exempelmetoden har följande parametrar:
Parameter | Typ | Beskrivning |
---|---|---|
connection |
– Hanterad: WqlConnectionManager – VBScript: SWbemServices |
En giltig anslutning till SMS-providern. |
Kompilera koden
Det här C#-exemplet kräver:
Namnområden
System
System.Collections.Generic
System.Text
Microsoft.ConfigurationManagement.ManagementProvider
Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine
Församlingen
adminui.wqlqueryengine
microsoft.configurationmanagement.managementprovider
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
SMS_MeteredFiles serverns WMI-klass
SMS_MeteredUser serverns WMI-klass
SMS_MonthlyUsageSummary, serverns WMI-klass
SMS_R_System, serverns WMI-klass
SMS_SummarizationInterval, serverns WMI-klass