<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; VBS: Помогите с DateDiff.]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=7441&amp;type=atom" />
	<updated>2012-08-10T14:46:52Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=7441</id>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Помогите с DateDiff.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=62672#p62672" />
			<content type="html"><![CDATA[<p>Ну и славненько. А то я никак не мог связать такие разные вещи как:<br /></p><div class="quotebox"><blockquote><div class="codebox"><pre><code>If dtmSystemUptime &lt; 77 Then</code></pre></div><div class="quotebox"><blockquote><p>по условию типа сервер1 - 1час назад ...</p></blockquote></div><div class="quotebox"><blockquote><p>Если один или оба&nbsp; сервера перегружались менее чем 7 часов</p></blockquote></div></blockquote></div><p>Всё-таки, правильным ТЗ оказалось последнее <img src="//forum.script-coding.com/img/smilies/wink.png" width="15" height="15" />.</p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2012-08-10T14:46:52Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=62672#p62672</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Помогите с DateDiff.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=62664#p62664" />
			<content type="html"><![CDATA[<p>Сделал так:<br /></p><div class="codebox"><pre><code>Option Explicit

Dim strComputer, stringx, Message, iConf, Flds

Dim objSWbemDateTime
Dim objSWbemLocator
Dim objSWbemServicesEx
Dim objSWbemObjectEx
Dim lngUptime


Set objSWbemDateTime   = WScript.CreateObject(&quot;WbemScripting.SWbemDateTime&quot;)
Set objSWbemLocator    = WScript.CreateObject(&quot;WbemScripting.SWbemLocator&quot;)

For Each strComputer In Array(&quot;server1&quot;, &quot;server2&quot;)
    Set objSWbemServicesEx = objSWbemLocator.ConnectServer(strComputer, &quot;root\cimv2&quot;)
    
    For Each objSWbemObjectEx In objSWbemServicesEx.InstancesOf(&quot;Win32_OperatingSystem&quot;)
        objSWbemDateTime.Value = objSWbemObjectEx.LastBootUpTime
        
        lngUptime = DateDiff(&quot;h&quot;, objSWbemDateTime.GetVarDate(), Now())
        
        If lngUptime &lt; 7 Then
&#039;            WScript.Echo lngUptime


    stringx= lngUptime &amp; &quot; Часов назад &quot; &amp; strComputer &amp; &quot; перегрузился &quot;


Set Message = CreateObject(&quot;CDO.Message&quot;) 
Message.To = &quot;xx@yy.ru&quot;
Message.From = &quot;servers@yy.ru&quot;
Message.Subject = &quot;servers&quot;
Message.TextBody = stringx
Message.BodyPart.Charset = &quot;windows-1251&quot;
Set iConf = CreateObject(&quot;CDO.Configuration&quot;)
Set Flds = iConf.Fields
Flds.Item(&quot;http://schemas.microsoft.com/cdo/configuration/sendusing&quot;) = 2
Flds.Item(&quot;http://schemas.microsoft.com/cdo/configuration/smtpserver&quot;) = &quot;10.10.10.2&quot;
Flds.Item(&quot;http://schemas.microsoft.com/cdo/configuration/smtpserverport&quot;) = 25
Flds.Item(&quot;http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout&quot;) = 10
Flds.Update
Message.Configuration = iConf
Message.Send


        End If
    Next
    
    Set objSWbemServicesEx = Nothing
Next

Set objSWbemLocator    = Nothing
Set objSWbemDateTime   = Nothing

WScript.Quit 0</code></pre></div><p>Спасибо за помощь! <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></content>
			<author>
				<name><![CDATA[bnp322]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26392</uri>
			</author>
			<updated>2012-08-10T09:13:52Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=62664#p62664</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Помогите с DateDiff.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=62627#p62627" />
			<content type="html"><![CDATA[<p>скрипт запускается несколько раз в сутки ~6 <br />Если один или оба&nbsp; сервера перегружались менее чем 7 часов назад шлется почтовое уведоление через почтовый сервер в локальной сети, с сообщением: &quot;Х часов назад такой-то сервер перегрузился&quot;</p>]]></content>
			<author>
				<name><![CDATA[bnp322]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26392</uri>
			</author>
			<updated>2012-08-09T14:33:06Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=62627#p62627</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Помогите с DateDiff.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=62622#p62622" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>А в чем была проблема?</p></blockquote></div><p>Я не пробовал Ваш скрипт под отладчиком.</p><div class="quotebox"><blockquote><p>Да и как в Ваш скрипт встроить отправку письма по условию типа сервер1 - 1час назад ...</p></blockquote></div><p>Поясните. Не понял.</p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2012-08-09T14:09:58Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=62622#p62622</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Помогите с DateDiff.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=62613#p62613" />
			<content type="html"><![CDATA[<p>да это адекватно работает на всех серверах! <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /><br /><img src="//forum.script-coding.com/img/smilies/big_smile.png" width="15" height="15" /> Но я перегрузил сервер 2 и выяснил что он &quot;глючил&quot; аналогично первому (на первоначальном скрипте), а я всех ввел в заблуждение, что с ним все оК! Простите!:|</p><p>Спасибо!!!</p><p>А в чем была проблема?</p><p>Да и как в Ваш скрипт встроить отправку письма по условию типа сервер1 - 1час назад ...</p><p>было так:</p><div class="codebox"><pre><code>If dtmSystemUptime &lt; 7 Then
 
   stringx= dtmSystemUptime &amp; &quot; Часов назад server перегрузился &quot;

Set Message = CreateObject(&quot;CDO.Message&quot;) 
Message.To = &quot;zzz@хххх.ru&quot;
Message.From = &quot;ууу@хххх.ru&quot;
Message.Subject = &quot;server&quot;
Message.TextBody = stringx
Message.BodyPart.Charset = &quot;windows-1251&quot;
Set iConf = CreateObject(&quot;CDO.Configuration&quot;)
Set Flds = iConf.Fields
Flds.Item(&quot;http://schemas.microsoft.com/cdo/configuration/sendusing&quot;) = 2
Flds.Item(&quot;http://schemas.microsoft.com/cdo/configuration/smtpserver&quot;) = &quot;10.10.10.2&quot;
Flds.Item(&quot;http://schemas.microsoft.com/cdo/configuration/smtpserverport&quot;) = 25
Flds.Item(&quot;http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout&quot;) = 10
Flds.Update
Message.Configuration = iConf
Message.Send 
End If</code></pre></div>]]></content>
			<author>
				<name><![CDATA[bnp322]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26392</uri>
			</author>
			<updated>2012-08-09T13:55:11Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=62613#p62613</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Помогите с DateDiff.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=62596#p62596" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>А где проблема и как ее.... и почему?mad</p></blockquote></div><p>Раз у Вас и там, и там «1049», тогда и мне не понятно, из-за чего проблема.</p><p>Попробуйте всё-таки так:<br /></p><div class="codebox"><pre><code>Option Explicit

Dim strComputer

Dim objSWbemDateTime
Dim objSWbemLocator
Dim objSWbemServicesEx
Dim objSWbemObjectEx

Dim lngUptime


Set objSWbemDateTime   = WScript.CreateObject(&quot;WbemScripting.SWbemDateTime&quot;)
Set objSWbemLocator    = WScript.CreateObject(&quot;WbemScripting.SWbemLocator&quot;)

For Each strComputer In Array(&quot;server1&quot;, &quot;server2&quot;)
    Set objSWbemServicesEx = objSWbemLocator.ConnectServer(strComputer, &quot;root\cimv2&quot;)
    
    For Each objSWbemObjectEx In objSWbemServicesEx.InstancesOf(&quot;Win32_OperatingSystem&quot;)
        objSWbemDateTime.Value = objSWbemObjectEx.LastBootUpTime
        
        lngUptime = DateDiff(&quot;h&quot;, objSWbemDateTime.GetVarDate(), Now())
        
        If lngUptime &lt; 77 Then
            WScript.Echo lngUptime
        End If
    Next
    
    Set objSWbemServicesEx = Nothing
Next

Set objSWbemLocator    = Nothing
Set objSWbemDateTime   = Nothing

WScript.Quit 0</code></pre></div>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2012-08-09T12:51:43Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=62596#p62596</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Помогите с DateDiff.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=62587#p62587" />
			<content type="html"><![CDATA[<p>09.08 и 08.08&nbsp; эта разница лишь оттого что один перегружался 8 числа второй девятого, для этого в скобках я писал реальную дату перегрузки . Дабы ни у кого не возникла ложная версия.:)</p><p>сразу после перезагрузки сервера 1 скрипт говорит что перегрузка была &quot;-721&quot;&nbsp; часов назад , а на втором сервере&nbsp; &quot;0&quot; часов! вот в чем проблем.</p><p>Функция WScript.Echo GetLocale()&nbsp; везде дает 1049.</p><br /><p>Вроде увидел!!! <img src="//forum.script-coding.com/img/smilies/mad.png" width="15" height="15" /></p><p>А где проблема и как ее.... и почему?:mad:</p>]]></content>
			<author>
				<name><![CDATA[bnp322]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26392</uri>
			</author>
			<updated>2012-08-09T11:11:54Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=62587#p62587</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Помогите с DateDiff.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=62584#p62584" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>Как взять функцию пока не знаю!sad</p></blockquote></div><div class="codebox"><pre><code>WScript.Echo GetLocale()</code></pre></div>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2012-08-09T10:54:08Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=62584#p62584</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Помогите с DateDiff.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=62583#p62583" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>Ничего не проясняется sad!</p></blockquote></div><p>Напротив.<br /></p><div class="quotebox"><blockquote><p>получаю последовательно:</p><br /><br /><p><span style="color: red"><strong>08.09.</strong></span>2012 2:08:16&nbsp; &nbsp; &nbsp;(мой коммент!- перегрузка была сегодня в 2.08 реально)</p><br /><br /><p>-709</p><br /><br /><p>08.08.2012 22:45:54&nbsp; (мой коммент!-перегрузка была вчера в 22.45 реально)</p><br /><br /><p>15</p></blockquote></div><p>и:<br /></p><div class="quotebox"><blockquote><p>на 2003R2 x64:</p><p>20120808224554.556767+540</p><p>08.08.2012 22:45:54</p><br /><br /><p>на 2003R2:</p><p>20120809020816.375000+540</p><p><span style="color: red"><strong>09.08.</strong></span>2012 2:08:16</p></blockquote></div><p>Видите разницу?</p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2012-08-09T10:52:49Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=62583#p62583</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Помогите с DateDiff.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=62574#p62574" />
			<content type="html"><![CDATA[<p>сделал так:</p><div class="codebox"><pre><code>strComputer = &quot;server1&quot;
Set objWMIService = GetObject(&quot;winmgmts:&quot; _
    &amp; &quot;{impersonationLevel=impersonate}!\\&quot; &amp; strComputer &amp; &quot;\root\cimv2&quot;)
Set colOperatingSystems = objWMIService.ExecQuery _
    (&quot;Select * from Win32_OperatingSystem&quot;)
 
For Each objOS in colOperatingSystems
    dtmBootup = objOS.LastBootUpTime

    Wscript.Echo dtmLastBootupTime

    dtmLastBootupTime = WMIDateStringToDate(dtmBootup)
    dtmSystemUptime = DateDiff(&quot;h&quot;, dtmLastBootUpTime, Now)

If dtmSystemUptime &lt; 77 Then
    Wscript.Echo dtmSystemUptime 

End If
Next


strComputer = &quot;server2&quot;
Set objWMIService = GetObject(&quot;winmgmts:&quot; _
    &amp; &quot;{impersonationLevel=impersonate}!\\&quot; &amp; strComputer &amp; &quot;\root\cimv2&quot;)
Set colOperatingSystems = objWMIService.ExecQuery _
    (&quot;Select * from Win32_OperatingSystem&quot;)
 
For Each objOS in colOperatingSystems
    dtmBootup = objOS.LastBootUpTime

    Wscript.Echo dtmLastBootupTime

    dtmLastBootupTime = WMIDateStringToDate(dtmBootup)
    dtmSystemUptime = DateDiff(&quot;h&quot;, dtmLastBootUpTime, Now)

If dtmSystemUptime &lt; 77 Then
    Wscript.Echo dtmSystemUptime 

End If
Next
 

Function WMIDateStringToDate(dtmBootup)
    WMIDateStringToDate = CDate(Mid(dtmBootup, 5, 2) &amp; &quot;/&quot; &amp; _
        Mid(dtmBootup, 7, 2) &amp; &quot;/&quot; &amp; Left(dtmBootup, 4) _
            &amp; &quot; &quot; &amp; Mid (dtmBootup, 9, 2) &amp; &quot;:&quot; &amp; _
                Mid(dtmBootup, 11, 2) &amp; &quot;:&quot; &amp; Mid(dtmBootup,13, 2))
End Function</code></pre></div><p>На первом эхо получил пустое окно только кнопка ОК, а далее как при первом отладочном скрипте!!!</p><br /><p>Т.е. примерно так:</p><p>получаю последовательно:</p><p>пустота!!!</p><p>-709</p><p>08.08.2012 22:45:54</p><p>15</p><br /><p><img src="//forum.script-coding.com/img/smilies/yikes.png" width="15" height="15" /></p>]]></content>
			<author>
				<name><![CDATA[bnp322]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26392</uri>
			</author>
			<updated>2012-08-09T09:14:08Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=62574#p62574</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Помогите с DateDiff.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=62573#p62573" />
			<content type="html"><![CDATA[<p>В реестре нашел HKEY_USERS\.DEFAULT\Control Panel\International\Locale&nbsp; &nbsp;значение 00000419&nbsp; оно одинаковое. Как взять функцию пока не знаю!:(</p><p>Ваш скрипт отрабатывает так(одинаково как я понял):<br />на XP:<br />20120809153127.375000+540<br />09.08.2012 15:31:27</p><p>на 2003R2 x64:<br />20120808224554.556767+540<br />08.08.2012 22:45:54</p><p>на 2003R2:<br />20120809020816.375000+540<br />09.08.2012 2:08:16</p><p>Ничего не проясняется <img src="//forum.script-coding.com/img/smilies/sad.png" width="15" height="15" />!</p>]]></content>
			<author>
				<name><![CDATA[bnp322]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26392</uri>
			</author>
			<updated>2012-08-09T09:08:19Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=62573#p62573</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Помогите с DateDiff.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=62565#p62565" />
			<content type="html"><![CDATA[<p><strong>bnp322</strong>, меня интересовало значение «LastBootUpTime» <strong>до</strong> обработки функцией «WMIDateStringToDate()». И отчего такой странный формат даты — «MM.DD.YYYY»?! Что кажет функция «GetLocale()» на обоих серверах?</p><p>Попробуйте для начала использовать вместо функции «WMIDateStringToDate()» существующий, начиная с Windows XP, объект «SWbemDateTime»:<br /></p><div class="codebox"><pre><code>Option Explicit

Dim objSWbemDateTime

Dim strComputer

Dim objSWbemLocator
Dim objSWbemServicesEx
Dim objSWbemObjectEx


Set objSWbemDateTime   = WScript.CreateObject(&quot;WbemScripting.SWbemDateTime&quot;)

strComputer = &quot;.&quot;

Set objSWbemLocator    = WScript.CreateObject(&quot;WbemScripting.SWbemLocator&quot;)
Set objSWbemServicesEx = objSWbemLocator.ConnectServer(strComputer, &quot;root\cimv2&quot;)

For Each objSWbemObjectEx In objSWbemServicesEx.InstancesOf(&quot;Win32_OperatingSystem&quot;)
    WScript.Echo objSWbemObjectEx.LastBootUpTime
    
    objSWbemDateTime.Value = objSWbemObjectEx.LastBootUpTime
    WScript.Echo objSWbemDateTime.GetVarDate()
Next

Set objSWbemServicesEx = Nothing
Set objSWbemLocator    = Nothing

Set objSWbemDateTime   = Nothing

WScript.Quit 0</code></pre></div>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2012-08-09T06:37:18Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=62565#p62565</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Помогите с DateDiff.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=62554#p62554" />
			<content type="html"><![CDATA[<p>значения выдаваемые серверами однотипны если я добавляю отладочное эхо в скрипт:</p><div class="codebox"><pre><code>strComputer = &quot;server1&quot;
Set objWMIService = GetObject(&quot;winmgmts:&quot; _
    &amp; &quot;{impersonationLevel=impersonate}!\\&quot; &amp; strComputer &amp; &quot;\root\cimv2&quot;)
Set colOperatingSystems = objWMIService.ExecQuery _
    (&quot;Select * from Win32_OperatingSystem&quot;)
 
For Each objOS in colOperatingSystems
    dtmBootup = objOS.LastBootUpTime
    dtmLastBootupTime = WMIDateStringToDate(dtmBootup)

    Wscript.Echo dtmLastBootupTime

    dtmSystemUptime = DateDiff(&quot;h&quot;, dtmLastBootUpTime, Now)

If dtmSystemUptime &lt; 77 Then
    Wscript.Echo dtmSystemUptime 

End If
Next


strComputer = &quot;server2&quot;
Set objWMIService = GetObject(&quot;winmgmts:&quot; _
    &amp; &quot;{impersonationLevel=impersonate}!\\&quot; &amp; strComputer &amp; &quot;\root\cimv2&quot;)
Set colOperatingSystems = objWMIService.ExecQuery _
    (&quot;Select * from Win32_OperatingSystem&quot;)
 
For Each objOS in colOperatingSystems
    dtmBootup = objOS.LastBootUpTime
    dtmLastBootupTime = WMIDateStringToDate(dtmBootup)

    Wscript.Echo dtmLastBootupTime

    dtmSystemUptime = DateDiff(&quot;h&quot;, dtmLastBootUpTime, Now)
If dtmSystemUptime &lt; 77 Then
    Wscript.Echo dtmSystemUptime 

End If
Next
 

Function WMIDateStringToDate(dtmBootup)
    WMIDateStringToDate = CDate(Mid(dtmBootup, 5, 2) &amp; &quot;/&quot; &amp; _
        Mid(dtmBootup, 7, 2) &amp; &quot;/&quot; &amp; Left(dtmBootup, 4) _
            &amp; &quot; &quot; &amp; Mid (dtmBootup, 9, 2) &amp; &quot;:&quot; &amp; _
                Mid(dtmBootup, 11, 2) &amp; &quot;:&quot; &amp; Mid(dtmBootup,13, 2))
End Function</code></pre></div><p>получаю последовательно:</p><p>08.09.2012 2:08:16&nbsp; &nbsp; &nbsp;(мой коммент!- перегрузка была сегодня в 2.08 реально)</p><p>-709</p><p>08.08.2012 22:45:54&nbsp; (мой коммент!-перегрузка была вчера в 22.45 реально)</p><p>15</p>]]></content>
			<author>
				<name><![CDATA[bnp322]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26392</uri>
			</author>
			<updated>2012-08-09T04:53:16Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=62554#p62554</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Помогите с DateDiff.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=62552#p62552" />
			<content type="html"><![CDATA[<p><strong>bnp322</strong>, сложно сказать. Надо проходить в отладчике и смотреть, где что не так.</p><p>Само свойство «.LastBootUpTime» выдаёт для «неправильного» сервера корректное значение?</p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2012-08-09T03:54:39Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=62552#p62552</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[VBS: Помогите с DateDiff.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=62550#p62550" />
			<content type="html"><![CDATA[<p>Здравствуйте! Скрипт смотрит 2 сервера:<br />1. 2003R2<br />2. 2003R2 x64<br />Если какой-либо перегружался то выдается сообщение - как давно. Все работало несколько месяцев!<br />Вероятно, после очередных обновлений 1 сервер выдает что он перегружен -720 часов назад(минус не опечатка!),&nbsp; 2 сервер&nbsp; 13 часов назад! перегружались оба вчера!</p><p>Поправьте кто силен плиз!:|</p><div class="codebox"><pre><code>strComputer = &quot;server1&quot;
Set objWMIService = GetObject(&quot;winmgmts:&quot; _
    &amp; &quot;{impersonationLevel=impersonate}!\\&quot; &amp; strComputer &amp; &quot;\root\cimv2&quot;)
Set colOperatingSystems = objWMIService.ExecQuery _
    (&quot;Select * from Win32_OperatingSystem&quot;)
 
For Each objOS in colOperatingSystems
    dtmBootup = objOS.LastBootUpTime
    dtmLastBootupTime = WMIDateStringToDate(dtmBootup)
    dtmSystemUptime = DateDiff(&quot;h&quot;, dtmLastBootUpTime, Now)
If dtmSystemUptime &lt; 77 Then
    Wscript.Echo dtmSystemUptime 

End If
Next


strComputer = &quot;server2&quot;
Set objWMIService = GetObject(&quot;winmgmts:&quot; _
    &amp; &quot;{impersonationLevel=impersonate}!\\&quot; &amp; strComputer &amp; &quot;\root\cimv2&quot;)
Set colOperatingSystems = objWMIService.ExecQuery _
    (&quot;Select * from Win32_OperatingSystem&quot;)
 
For Each objOS in colOperatingSystems
    dtmBootup = objOS.LastBootUpTime
    dtmLastBootupTime = WMIDateStringToDate(dtmBootup)
    dtmSystemUptime = DateDiff(&quot;h&quot;, dtmLastBootUpTime, Now)
If dtmSystemUptime &lt; 77 Then
    Wscript.Echo dtmSystemUptime 

End If
Next
 

Function WMIDateStringToDate(dtmBootup)
    WMIDateStringToDate = CDate(Mid(dtmBootup, 5, 2) &amp; &quot;/&quot; &amp; _
        Mid(dtmBootup, 7, 2) &amp; &quot;/&quot; &amp; Left(dtmBootup, 4) _
            &amp; &quot; &quot; &amp; Mid (dtmBootup, 9, 2) &amp; &quot;:&quot; &amp; _
                Mid(dtmBootup, 11, 2) &amp; &quot;:&quot; &amp; Mid(dtmBootup,13, 2))
End Function</code></pre></div>]]></content>
			<author>
				<name><![CDATA[bnp322]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26392</uri>
			</author>
			<updated>2012-08-09T02:20:03Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=62550#p62550</id>
		</entry>
</feed>
