Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ «НСдокумСнтированныС ΠΈ малоизвСстныС возмоТности Windows XPΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 58

Автор Π ΠΎΠΌΠ°Π½ КлимСнко

 β€’ 0 β€” ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅;

 β€’ 1 β€” ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ошибок;

 β€’ 2 β€” ΠΏΠΎΠ»Π½ΠΎΠ΅ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ошибок.

β–  Logging Directory β€” этот ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ строкового Ρ‚ΠΈΠΏΠ° содСрТит ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Ρƒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ находятся Ρ„Π°ΠΉΠ»Ρ‹ систСмных ΠΆΡƒΡ€Π½Π°Π»ΠΎΠ² WMI. ИмСнно Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ этого ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΈ рСдактируСтся Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Π’Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΆΡƒΡ€Π½Π°Π»Π°.

β–  Low Threshold On Client Objects (B) β€” ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ DWORD-Ρ‚ΠΈΠΏΠ°, опрСдСляСт Π½ΠΈΠΆΠ½Π΅Π΅ ΠΏΠΎΡ€ΠΎΠ³ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΎΡ‚ поставщиков, достиТСниС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ замСдлСнию скорости создания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² рССстрС Π½Π΅ сущСствуСт.

β–  Low Threshold On Events (B) β€” этот ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ DWORD-Ρ‚ΠΈΠΏΠ° опрСдСляСт Π½ΠΈΠΆΠ½Π΅Π΅ ΠΏΠΎΡ€ΠΎΠ³ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ событий ΠΎΡ‚ поставщиков, достиТСниС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ замСдлСнию скорости создания событий.

β–  Max DB Size β€” ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ строкового Ρ‚ΠΈΠΏΠ°, опрСдСляСт ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… WMI. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π½Π΅ сущСствуСт.

β–  Max Wait On Events (ms) β€” этот ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ строкового Ρ‚ΠΈΠΏΠ° ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ врСмя Π² миллисСкундах, Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ событиС ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ. Если ΠΏΠΎ истСчСнии этого Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ событиС всС Π΅Ρ‰Π΅ находится Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ, Ρ‚ΠΎ ΠΎΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ автоматичСски ΡƒΠ΄Π°Π»Π΅Π½ΠΎ.

β–  Max Wait On Client Objects (ms) β€” ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ строкового Ρ‚ΠΈΠΏΠ°, ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ врСмя Π² миллисСкундах, Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ. Если ΠΏΠΎ истСчСнии этого Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ всС Π΅Ρ‰Π΅ находится Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ, Ρ‚ΠΎ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ автоматичСски ΡƒΠ΄Π°Π»Π΅Π½. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² рССстрС Π½Π΅ сущСствуСт.

β–  Repository Directory β€” этот ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ строкового Ρ‚ΠΈΠΏΠ° опрСдСляСт ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Ρƒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΌΡƒ слуТбой WMI для хранСния Π°Ρ€Ρ…ΠΈΠ²ΠΎΠ² Π‘IМ-совмСстимой Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Они ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ восстановлСнии Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….

β–  Working Directory β€” ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ строкового Ρ‚ΠΈΠΏΠ°, опрСдСляСт ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌΡƒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Ρƒ WMI. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡƒΡ‚ΡŒ %systemroot%\system32\wbem.

Π’ рССстрС Ρ‚Π°ΠΊΠΆΠ΅ сущСствуСт Π²Π΅Ρ‚Π²ΡŒ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WBEM\Scripting. ЗначСния Π΄Π°Π½Π½ΠΎΠΉ Π²Π΅Ρ‚Π²ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ настройки взаимодСйствия WMI ΠΈ сСрвСра сцСнариСв Windows. НапримСр, Π²Π΅Ρ‚Π²ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹.

β–  Default Namespace β€” этот ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ строкового Ρ‚ΠΈΠΏΠ° опрСдСляСт пространство ΠΈΠΌΠ΅Π½, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ (Ссли пространство ΠΈΠΌΠ΅Π½ Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½ΠΎ явно). Π§Π°Ρ‰Π΅ всСго Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π²Π½ΠΎ root\cimv2.

β–  Enable for ASP β€” Ссли Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° DWORD-Ρ‚ΠΈΠΏΠ° Ρ€Π°Π²Π½ΠΎ 1, Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ использованиС сцСнариСв WMI для ASP.

β–  Default Impersonation Level β€” этот ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ DWORD-Ρ‚ΠΈΠΏΠ° опрСдСляСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ (Ссли ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½ Π² сцСнарии) ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΠΏΡ€Π°Π² бСзопасности. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π²Π½ΠΎ 3.

Доступ ΠΊ WMI с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ сСрвСра сцСнариСв

ПолноС ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ WMI Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π±Π΅Π· знания Ρ‚Π΅Ρ… возмоТностСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½Π° прСдоставляСт администратору. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ рассмотрим сСйчас Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ написания сцСнариСв сСрвСра сцСнариСв Windows с использованиСм возмоТностСй WMI. Π Π°Π·Π΄Π΅Π» Π½Π΅ описываСт Ρ€Π°Π±ΠΎΡ‚Ρƒ с сСрвСром сцСнариСв β€” прСдполагаСтся, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΡƒΠΆΠ΅ Π·Π½Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΈ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ простыС сцСнарии Π½Π° языках VBScript ΠΈΠ»ΠΈ JScript. Π—Π΄Π΅ΡΡŒ Π±ΡƒΠ΄Π΅Ρ‚ Π΄Π°Π½ΠΎ нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² сцСнариСв, Π½Π° основС ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ возмоТности ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΠ΅Ρ€Π΅Π΄ администратором ΠΏΡ€ΠΈ использовании WMI, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Π΄Π°Π½Π° ссылка Π½Π° ΠΎΠ΄ΠΈΠ½ интСрСсный ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы Windows, содСрТащий список всСх Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π² пространствах ΠΈΠΌΠ΅Π½, ΠΈ ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ΅ описаниС этих Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

Π˜Ρ‚Π°ΠΊ, сСрвСр сцСнариСв Windows являСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ языком. Π˜Π½Ρ‹ΠΌΠΈ словами, ΠΏΡ€ΠΈ написании сцСнариСв Π² Π½ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ (хранящиС описания ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΡ… Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ возмоТности Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой), Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ½ΠΈΠΊΠ΅Ρ€Ρ‹ (БОМ-ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ для обСспСчСния привязки ΠΊ БОМ-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… WMI). Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΈ сСрвСра сцСнариСв ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π° языкС VBScript Π»ΠΈΠ±ΠΎ JScript. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС для рассмотрСния ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ язык VBScript.

Π•ΡΡ‚ΡŒ Π΄Π²Π° способа запуска сцСнариСв сСрвСра сцСнариСв Windows β€” Π»ΠΈΠ±ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄Π²ΠΎΠΉΠ½ΠΎΠ³ΠΎ Ρ‰Π΅Π»Ρ‡ΠΊΠ° ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ Π½Π° Ρ„Π°ΠΉΠ»Π΅ (ΠΈΠ»ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ wscript.exe), Π»ΠΈΠ±ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ cscript.exe. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° cscript.exe ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со сцСнариСм ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, ΠΈ Π΅Π΅ плюсом являСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ указания ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Ρ‹ сцСнария (Ссли ΠΎΠ½ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹). ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, поэтому для ΠΈΡ… примСнСния Π»ΡƒΡ‡ΡˆΠ΅ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ cscript.exe.

Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΈ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ SystemRestore для ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… дисков

Рассмотрим ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚Π΅Ρ… возмоТностСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ прСдоставляСт администратору WMI. Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ классом SystemRestore, описанным Π² пространствС ΠΈΠΌΠ΅Π½ root /default для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ возмоТности ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ восстановлСния систСмы Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… дисках с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ сСрвСра сцСнариСв Windows. ΠŸΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΡ€ΠΎΠΌΠ΅ доступа ΠΊ WMI, Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ основных возмоТностСй ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² сСрвСра сцСнариСв, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ объяснСниС, для Ρ‡Π΅Π³ΠΎ записываСтся Ρ‚Π° ΠΈΠ»ΠΈ иная строка сцСнария.

Листинг 11.1. ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ восстановлСния систСмы Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ дискС

'Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π΄Π°Π½Π½ΠΎΠ³ΠΎ сцСнария ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ возмоТности ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Windows

'(Ρ€Π°Π±ΠΎΡ‚Π° с рССстром ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмой), поэтому ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ΠΌ ΠΊ

'этим возмоТностям Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ Π² сцСнарии ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ½ΠΈ описаны

'БСйчас ΠΌΡ‹ объявляСм ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмой Windows, ΠΎΠ½

'Π½Π°ΠΌ понадобится для возмоТности записи Π² Ρ„Π°ΠΉΠ» свСдСний ΠΎΠ± ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ

'SystemRestore.

set objFS = CreateObject("Scripting.FileSystemObject")

'ПослС объявлСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ тСкстовый Ρ„Π°ΠΉΠ»

'(Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ„Π°ΠΉΠ» sr_log.txt, располоТСнный Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ d:\)

'для записи (Ссли Ρ„Π°ΠΉΠ» Π½Π΅ сущСстуСт, Ρ‚ΠΎ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ автоматичСски создан).

'Π’ этот Ρ„Π°ΠΉΠ» Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒΡΡ информация ΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ сцСнария.

set objTextFile = objFS.OpenTextFile("d:\sr_log.txt", 8, True)

'Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ объявляСм ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с рССстром Windows.

'Он Π½Π°ΠΌ понадобится для доступа ΠΊ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρƒ, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΌΡƒ, Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° Π»ΠΈ

'Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ SystemRestore

set objREG = WScript.CreateObject("Wscript.Shell")

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ объявляСм ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ

'ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ Π² сцСнарий ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки. Наш сцСнарий Π±ΡƒΠ΄Π΅Ρ‚

'ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки для опрСдСлСния Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΆΠ΅

'Π΅ΠΌΡƒ Π½ΡƒΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ. ΠŸΡ€ΠΈ этом полная строка запуска нашСго сцСнария

'Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ: cscript Β«ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ сцСнария ΠΈ Π΅Π³ΠΎ имя» Β«Π·Π½Π°Ρ‡ΠΎΠΊ

'диска» «Ссли этот ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Ρ€Π°Π²Π΅Π½ Y, Ρ‚ΠΎ SystemRestore Π½Π° дискС Π±ΡƒΠ΄Π΅Ρ‚

Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π°, Ссли ΠΆΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ этого ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Ρ€Π°Π²Π½ΠΎ N, Ρ‚ΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Π°Β».

'Если ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π½Π΅ Π·Π°Π΄Π°Π½Ρ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, сцСнарий запускаСтся Π΄Π²ΠΎΠΉΠ½Ρ‹ΠΌ Ρ‰Π΅Π»Ρ‡ΠΊΠΎΠΌ

'Π½Π° Π΅Π³ΠΎ Π·Π½Π°Ρ‡ΠΊΠ΅), Ρ‚ΠΎ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: Π±ΡƒΠ΄Π΅Ρ‚

'ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ SystemRestore Π½Π° дискС C:\.

Set Args = wscript.Arguments

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ провСряСм, использовали Π»ΠΈ ΠΏΡ€ΠΈ запускС сцСнария ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€

'Π·Π½Π°Ρ‡ΠΊΠ° диска (ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΠΏΡ†ΠΈΡŽ). Если Π½Π΅ использовали, Ρ‚ΠΎ Π±ΡƒΠ΄Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ

'с диском C:\.

If Args.Count() > 0 Then

 Drive = Args.item(0)

Else

 Drive = "c:\"

End If

'Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ провСряСм использованиС ΠΏΡ€ΠΈ запускС сцСнария Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°

If Args.Count() > 1 Then

 StopSR = Args.item(1)

Else

 StopSR = "N"

End If

'ΠŸΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ запускС Π΄Π°Π½Π½Π½ΠΎΠ³ΠΎ сцСнария ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ вСсти ΠΆΡƒΡ€Π½Π°Π» Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹.

'ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΆΡƒΡ€Π½Π°Π», ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, начинаСтся с Π΄Π°Ρ‚Ρ‹ ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΊΠΎΠ³Π΄Π° сцСнарий

'Π±Ρ‹Π» Π·Π°ΠΏΡƒΡ‰Π΅Π½ – ΠΈΠΌΠ΅Π½Π½ΠΎ эту ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΌΡ‹ ΠΈ добавляСм Π² ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ Ρ€Π°Π½Π΅Π΅

'Ρ„Π°ΠΉΠ». Для этого ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ Write, Ρ‡Ρ‚ΠΎΠ±Ρ‹ сСрвСр сцСнариСв

'Π½Π΅ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠ» Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ строку Ρ„Π°ΠΉΠ»Π° ΠΆΡƒΡ€Π½Π°Π»Π° послС занСсСния Π² Π½Π΅Π³ΠΎ

'Π΄Π°Ρ‚Ρ‹ ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

objTextFile.Write Date() & " Π² " & Time()

'БСйчас ΠΌΡ‹ Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ Π³Π»Π°Π²Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΎΠΏΠΈΡΠ°Π½Π½ΡƒΡŽ Π½ΠΈΠΆΠ΅ Π² сцСнарии.

'Π“Π»Π°Π²Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±Ρ‹Π» Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π² Π²ΠΈΠ΄Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ

'Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΡŽ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ возмоТностСй сСрвСра сцСнариСв Windows.

call sronoff()


'А Π²ΠΎΡ‚ ΠΈ главная функция ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (которая Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ sronoff).

'ИмСнно эта функция ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΈΠ»ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ SystemRestore Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ

'дискС. РСализация частСй ΠΊΠΎΠ΄Π° сцСнария Π² Π²ΠΈΠ΄Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ позволяСт

'ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ возмоТности ΠΏΠΎ максимуму. НапримСр, Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄

'позволяСт Π·Π°Π²Π΅Ρ€ΡˆΠ°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ сцСнария Π² любоС врСмя, нСзависимо ΠΎΡ‚

'ΠΎΡΡ‚Π°Π²ΡˆΠ΅Π³ΠΎΡΡ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠΎΠ΄Π°, ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ части

'ΠΊΠΎΠ΄Π° свои ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ошибок.