Zadania usługi WMI: Monitorowanie wydajności
Użyj klas WMI, które uzyskują dane z liczników wydajności, aby uzyskać dostęp do i odświeżyć dane dotyczące wydajności komputera. Inne przykłady można znaleźć w witrynie TechNet ScriptCenter pod adresem https://www.microsoft.com/technet. Aby uzyskać więcej informacji, zobacz Biblioteki wydajności i WMI oraz Monitorowanie danych wydajności.
Przykłady skryptów pokazane w tym temacie uzyskują dane tylko z komputera lokalnego. Aby uzyskać więcej informacji o sposobie uzyskiwania danych z komputerów zdalnych za pomocą skryptu, zobacz Connecting to WMI on a Remote Computer.
Poniższa procedura opisuje sposób uruchamiania skryptu.
Aby uruchomić skrypt
- Skopiuj kod i zapisz go w pliku z rozszerzeniem vbs, takim jak nazwa pliku.vbs. Upewnij się, że edytor tekstów nie dodaje rozszerzenia .txt do pliku.
- Otwórz okno wiersza polecenia i przejdź do katalogu, w którym zapisano plik.
- Wpisz cscript nazwa pliku.vbs w wierszu polecenia.
- Jeśli nie możesz uzyskać dostępu do dziennika zdarzeń, sprawdź, czy korzystasz z wiersza polecenia z podwyższonym poziomem uprawnień. Niektóre dzienniki zdarzeń, takie jak dziennik zdarzeń zabezpieczeń, mogą być chronione przez kontrolę dostępu użytkowników (UAC).
Notatka
Domyślnie skrypt cscript wyświetla dane wyjściowe skryptu w oknie wiersza polecenia. Ponieważ skrypty usługi WMI mogą generować duże ilości danych wyjściowych, może być konieczne przekierowanie danych wyjściowych do pliku. Wpisz cscript filename.vbs > outfile.txt w wierszu polecenia, aby przekierować dane wyjściowe skryptu filename.vbs do outfile.txt.
W poniższej tabeli wymieniono przykłady skryptów, których można użyć do uzyskania różnych typów danych z komputera lokalnego.
Jak mogę... | Klasy lub metody WMI | ||
---|---|---|---|
... uzyskać dane licznika wydajności, które widzę w narzędziu Perfmon w skrypcie? | Użyj klas, które mają nazwy rozpoczynające się od "Win32_PerfFormattedData", na przykład Win32_PerfFormattedData_PerfProc_Process. Właściwości o nazwach takich jak PageFileBytes odpowiadają licznikom wydajności widocznym w Perfmon. Klasy "Win32_PerfFormattedData" obliczają końcowe wartości liczników. |
||
... uzyskać bieżące dane wydajnościowe dla pojedynczego procesu, napędu dysku i innych elementów danych? | Użyj Win32_PerfFormattedData_PerfProc_Process lub odpowiedniej sformatowanej klasy licznika wydajności oraz metody SWbemObjectEx.Refresh_. Aby uzyskać więcej informacji, zobacz Scripting with SWbemObject. W języku C++użyj IWbemConfigureRefresher::AddObjectByPath i IWbemRefresher::Refresh. Aby uzyskać więcej informacji, zobacz Monitorowanie danych wydajności. Poniższy skrypt jest uruchamiany do momentu ponownego uruchomienia komputera, zatrzymanie usługi WMI lub zatrzymanie skryptu. Aby ręcznie zatrzymać skrypt, użyj Menedżera zadań, aby zatrzymać proces. Aby zatrzymać go programowo, użyj metody Terminate w klasie Win32_Process.
|
||
... uzyskać dane dotyczące wydajności dla wszystkich procesów bez wielokrotnego sondowania? | Użyj klas, które mają nazwy rozpoczynające się od "Win32_PerfFormattedData" i obiektu SWbemRefresher. Odświeżacz przechowuje obiekty, więc nie trzeba wielokrotnie pobierać tej kolekcji. Do obliczenia danych wydajności potrzebne są co najmniej dwie wartości, ponieważ większość liczników to liczniki szybkości. Przy pierwszym wyświetlaniu danych odświeżacza są puste. Poniższy skrypt jest uruchamiany w nieskończoność do czasu ponownego uruchomienia komputera, zatrzymanie usługi WMI lub zatrzymanie skryptu. Aby ręcznie zatrzymać skrypt, użyj Menedżera zadań, aby zatrzymać proces. Aby zatrzymać go programowo, użyj metody Terminate w klasie Win32_Process.
|
||
... pobieranie i obliczanie danych wydajności dla procesów w systemie Windows 2000? | Użyj klas "Win32_PerfRawData", takich jak Win32_PerfRawData_PerfProc_Process. Pobierz dane właściwości, takie jak PercentProcessorTime, dwa razy dla określonego procesu. Wyszukaj formułę określoną w kwalifikatorze CounterType właściwości i oblicz. Typ counterType w przykładzie to PERF_100NSEC_TIMER_INV. Aby uzyskać więcej informacji, zobacz Monitorowanie danych wydajności. Poniższy skrypt jest uruchamiany w nieskończoność do czasu ponownego uruchomienia komputera, zatrzymanie usługi WMI lub zatrzymanie skryptu. Aby ręcznie zatrzymać skrypt, użyj Menedżera zadań, aby zatrzymać proces. Aby zatrzymać go programowo, użyj metody Terminate w klasie Win32_Process.
|
Tematy pokrewne
-
przykłady aplikacji WMI C++