<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>MOM</title><link>http://blogs.sqlpassj.org/mitsugi/category/479.aspx</link><description>Microsoft Operations Manager 関連</description><managingEditor>おがわみつぎ</managingEditor><dc:language>ja-JP</dc:language><generator>.Text Version 0.95.2004.102</generator><item><dc:creator>おがわみつぎ</dc:creator><title>[MOM]Vol.4 SQL Server 編</title><link>http://blogs.sqlpassj.org/mitsugi/archive/2006/01/23/15893.aspx</link><pubDate>Mon, 23 Jan 2006 21:43:00 GMT</pubDate><guid>http://blogs.sqlpassj.org/mitsugi/archive/2006/01/23/15893.aspx</guid><wfw:comment>http://blogs.sqlpassj.org/mitsugi/comments/15893.aspx</wfw:comment><comments>http://blogs.sqlpassj.org/mitsugi/archive/2006/01/23/15893.aspx#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://blogs.sqlpassj.org/mitsugi/comments/commentRss/15893.aspx</wfw:commentRss><trackback:ping>http://blogs.sqlpassj.org/mitsugi/services/trackbacks/15893.aspx</trackback:ping><description>&lt;P&gt;&lt;A href="http://www.microsoft.com/japan/mom/community/default.mspx"&gt;http://www.microsoft.com/japan/mom/community/default.mspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;にコラムが公開されましたっていうか、事後連絡。(^-^;)&lt;/P&gt;
&lt;P&gt;
&lt;TABLE class=headline cellSpacing=0 cellPadding=0 border=0&gt;
&lt;TBODY&gt;
&lt;TR vAlign=top&gt;
&lt;TD class=bullet&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;SPAN class=label&gt;&lt;A href="http://www.microsoft.com/japan/mom/community/columns/sql.mspx"&gt;Vol.4 SQL Server 編&lt;/A&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P&gt;微妙に訂正が必要ですが、読んでみてください。&lt;/P&gt;&lt;img src ="http://blogs.sqlpassj.org/mitsugi/aggbug/15893.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>おがわみつぎ</dc:creator><title>[MOM2005]SQL Server Management Pack for MOM 2005</title><link>http://blogs.sqlpassj.org/mitsugi/archive/2005/12/06/15055.aspx</link><pubDate>Tue, 06 Dec 2005 14:57:00 GMT</pubDate><guid>http://blogs.sqlpassj.org/mitsugi/archive/2005/12/06/15055.aspx</guid><wfw:comment>http://blogs.sqlpassj.org/mitsugi/comments/15055.aspx</wfw:comment><comments>http://blogs.sqlpassj.org/mitsugi/archive/2005/12/06/15055.aspx#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://blogs.sqlpassj.org/mitsugi/comments/commentRss/15055.aspx</wfw:commentRss><trackback:ping>http://blogs.sqlpassj.org/mitsugi/services/trackbacks/15055.aspx</trackback:ping><description>&lt;P&gt;英語版ですが、SQL Server Management Pack for MOM 2005 がダウンロードできるようになりました。&lt;/P&gt;
&lt;P&gt;SQL Server 2005 に対応していますので、ぜひ評価してみてください。&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=79f151c7-4d98-4c2b-bf72-ec2b4ae69191&amp;amp;DisplayLang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=79f151c7-4d98-4c2b-bf72-ec2b4ae69191&amp;amp;DisplayLang=en&lt;/A&gt;&lt;/P&gt;&lt;img src ="http://blogs.sqlpassj.org/mitsugi/aggbug/15055.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>おがわみつぎ</dc:creator><title>[MOM]MOM 2005 SP1 対応 Microsoft Active Directory 管理パックの問題</title><link>http://blogs.sqlpassj.org/mitsugi/archive/2005/11/24/14993.aspx</link><pubDate>Thu, 24 Nov 2005 16:42:00 GMT</pubDate><guid>http://blogs.sqlpassj.org/mitsugi/archive/2005/11/24/14993.aspx</guid><wfw:comment>http://blogs.sqlpassj.org/mitsugi/comments/14993.aspx</wfw:comment><comments>http://blogs.sqlpassj.org/mitsugi/archive/2005/11/24/14993.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.sqlpassj.org/mitsugi/comments/commentRss/14993.aspx</wfw:commentRss><trackback:ping>http://blogs.sqlpassj.org/mitsugi/services/trackbacks/14993.aspx</trackback:ping><description>&lt;P&gt;&lt;A style="FONT-WEIGHT: normal" href="http://www.microsoft.com/downloads/info.aspx?na=22&amp;p=3&amp;SrcDisplayLang=ja&amp;SrcCategoryId=&amp;SrcFamilyId=&amp;u=%2fdownloads%2fdetails.aspx%3fFamilyID%3db516e614-814a-4277-abf9-8d5315d2ba06%26DisplayLang%3dja"&gt;&lt;B&gt;MOM 2005 用 Active Directory 管理パック&lt;/B&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;をダウンロードして MOM 2005 SP1 に適用して、Active Directory を監視していましたが、&lt;/P&gt;
&lt;DIV&gt;'net use \\127.0.0.1\SYSVOL' failed. &lt;BR&gt;The error returned was 'ネットワーク パスが見つかりません。&lt;BR&gt;' (0x80070035)&lt;/DIV&gt;
&lt;DIV&gt;?&lt;/DIV&gt;
&lt;DIV&gt;というエラーが多発します。&lt;/DIV&gt;
&lt;DIV&gt;ためにしにコマンドラインから NET USE &lt;A href="file://\\127.0.0.1\SYSVOL"&gt;\\127.0.0.1\SYSVOL&lt;/A&gt; とやってみましたがエラーになります。&lt;BR&gt;さて、どうしたもんかということで「管理コンソール」→「管理パック」→「スクリプト」→「AD Essential Services Running」のプロパティ→「スクリプト」のコードを書き換えました。&lt;/DIV&gt;
&lt;DIV&gt;具体的には、WScript.Network の ComputerName プロパティを使って、127.0.0.1 をコンピュータ名に変更するということです。&lt;/DIV&gt;
&lt;DIV&gt;?&lt;/DIV&gt;
&lt;DIV&gt;'*************************************************************************&lt;BR&gt;' Script Name - AD Essential Services Running&lt;BR&gt;'&lt;BR&gt;' Purpose???? - Verifies that the necessary services are running on a&lt;BR&gt;'?????????????? Active Directory.&lt;BR&gt;'?????????????? &lt;BR&gt;' Assumptions - Script is run by a timed event&lt;BR&gt;'?????????????? &lt;BR&gt;' Parameters? - LogSuccessEvent - informs the script to log an event &lt;BR&gt;'???????????????????????????????? indicating script ran successfully and &lt;BR&gt;'???????????????????????????????? the execution time of the script. &lt;BR&gt;'???????????????????????????????? (useful for debugging)&lt;BR&gt;'?????????????? IgnoreDisabledNetLogon - if this is true then if&lt;BR&gt;'???????????????????????????????? NetLogon is marked as 'disabled'&lt;BR&gt;'???????????????????????????????? it will not generate alerts if they are&lt;BR&gt;'???????????????????????????????? in a non-running state&lt;BR&gt;'&lt;BR&gt;' (c) Copyright 2001, Microsoft Corporation, All Rights Reserved&lt;BR&gt;' Proprietary and confidential to Microsoft Corporation????????????? &lt;BR&gt;'*************************************************************************&lt;/DIV&gt;
&lt;DIV&gt;Option Explicit&lt;/DIV&gt;
&lt;DIV&gt;'Event Constants&lt;BR&gt;Const EVENT_TYPE_SUCCESS = 0&lt;BR&gt;Const EVENT_TYPE_ERROR = 1&lt;BR&gt;Const EVENT_TYPE_WARNING = 2&lt;BR&gt;Const EVENT_TYPE_INFORMATION = 4&lt;/DIV&gt;
&lt;DIV&gt;Const EVENTID_SCRIPT_ERROR = 21000&lt;/DIV&gt;
&lt;DIV&gt;Const EVENTID_FRS_NOTRUNNING = 38901&lt;BR&gt;Const EVENTID_NETLOGON_NOTRUNNING = 38902&lt;BR&gt;Const EVENTID_KDC_NOTRUNNIG = 38903&lt;BR&gt;Const EVENTID_W32TIME_NOTRUNNING = 38904&lt;BR&gt;Const EVENTID_ISM_NOTRUNNING = 38905&lt;BR&gt;Const EVENTID_SYSVOL_FAILED = 38906&lt;BR&gt;Const EVENTID_DCLOCATER_FAILED = 38907&lt;BR&gt;Const EVENTID_SUCCESS = 38910&lt;BR&gt;Const EVENTID_EVENTREQUIRED = 20002&lt;/DIV&gt;
&lt;DIV&gt;'Other constants&lt;BR&gt;Const SCRIPT_NAME = "AD Essential Services Running"&lt;/DIV&gt;
&lt;DIV&gt;Sub Main()&lt;BR&gt;? Dim bLogSuccessEvent? ' Log a success event if this is set and the check is successful&lt;BR&gt;? Dim objParams???????? ' Script Parameters&lt;BR&gt;? Dim strMessage??????? ' Event Description&lt;BR&gt;? Dim strComputerName?? ' local computer name&lt;BR&gt;? Dim bSuccess????????? ' TRUE if all checks passed&lt;BR&gt;? Dim dtStart?????????? ' Used to work out how long it took the script to run&lt;BR&gt;? Dim bNetLogon?????' Set to TRUE if Netlogon service is running&lt;BR&gt;? Dim bTemp???????????? ' Temporary storage for return value from IsServiceStarted&lt;BR&gt;? Dim strStatus???????? ' Storage for the status of a service returned from IsServiceStarted&lt;BR&gt;? Dim bIgnoreDisabledNetLogon ' Whether to ignore NetLogon when marked 'disabled'&lt;BR&gt;? &lt;BR&gt;? &lt;FONT color=#000080&gt;&lt;STRONG&gt;Dim strLocalComputerName?' ローカルコンピュータ名&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;? bSuccess = True&lt;BR&gt;? &lt;BR&gt;? On Error Resume Next??????? &lt;/DIV&gt;
&lt;DIV&gt;? If ScriptContext.IsEvent Then&lt;BR&gt;??? If Not(ScriptContext.IsTargetAgentless) Then&lt;BR&gt;????? dtStart = Now&lt;BR&gt;????? &lt;BR&gt;????? Set objParams = ScriptContext.Parameters&lt;BR&gt;????? bLogSuccessEvent = CBool(objParams.Get("LogSuccessEvent"))&lt;BR&gt;????? bIgnoreDisabledNetLogon = CBool(objParams.Get("IgnoreDisabledNetlogon"))&lt;BR&gt;????? Set objParams = Nothing&lt;BR&gt;????? &lt;BR&gt;????? 'Get the status of service NtFrs&lt;BR&gt;????? bTemp = IsServiceStarted("NtFrs", strStatus, FALSE)&lt;BR&gt;????? If 0 &lt;&gt; Err.Number Then &lt;BR&gt;??????? bSuccess = False&lt;BR&gt;??????? strMessage = "The script '" &amp; SCRIPT_NAME &amp; "' failed while determining whether the service " &amp; _&lt;BR&gt;????????????????????? "'NtFrs' was running." &amp; vbCrLf &amp; GetErrorString(Err.Number, Err.Description)&lt;BR&gt;??????? CreateEvent EVENTID_SCRIPT_ERROR, EVENT_TYPE_WARNING, strMessage&lt;BR&gt;????? Else&lt;BR&gt;??????? If Not(bTemp) Then&lt;BR&gt;????????? strMessage = "File Replication Service is in the '" &amp; strStatus &amp; "' state."&lt;BR&gt;????????? bSuccess = False&lt;BR&gt;????????? CreateEvent EVENTID_FRS_NOTRUNNING, EVENT_TYPE_ERROR, strMessage&lt;BR&gt;????????? SetData SCRIPT_NAME &amp; ":FRS", "Stopped"&lt;BR&gt;??????? Else&lt;BR&gt;????????? If "Stopped" = GetData(SCRIPT_NAME &amp; ":FRS") Then&lt;BR&gt;??????????? SetData SCRIPT_NAME &amp; ":FRS", "Running"&lt;BR&gt;??????????? strMessage = "File Replication Service is in the '" &amp; strStatus &amp; "' state."&lt;BR&gt;??????????? CreateEvent EVENTID_FRS_NOTRUNNING, EVENT_TYPE_INFORMATION, strMessage&lt;BR&gt;????????? End If&lt;BR&gt;??????? End If&lt;BR&gt;????? End If&lt;/DIV&gt;
&lt;DIV&gt;????? Err.Clear&lt;BR&gt;?????? &lt;BR&gt;????? 'Get the status of service Netlogon&lt;BR&gt;????? bTemp = IsServiceStarted("Netlogon", strStatus, bIgnoreDisabledNetLogon)&lt;BR&gt;????? bNetLogon = False&lt;BR&gt;????? If 0 &lt;&gt; Err.Number Then &lt;BR&gt;??????? bSuccess = False&lt;BR&gt;??????? strMessage = "The script '" &amp; SCRIPT_NAME &amp; "' failed while determining whether the service " &amp; _&lt;BR&gt;????????????????????? "'NetLogon' was running." &amp; vbCrLf &amp; GetErrorString(Err.Number, Err.Description)&lt;BR&gt;??????? CreateEvent EVENTID_SCRIPT_ERROR, EVENT_TYPE_WARNING, strMessage&lt;BR&gt;????? Else&lt;BR&gt;??????? If Not(bTemp) Then&lt;BR&gt;????????? strMessage = "Net Logon Service is in the '" &amp; strStatus &amp; "' state."&lt;BR&gt;????????? bSuccess = False&lt;BR&gt;????????? CreateEvent EVENTID_NETLOGON_NOTRUNNING, EVENT_TYPE_ERROR, strMessage&lt;BR&gt;????????? SetData SCRIPT_NAME &amp; ":NetLogon", "Stopped"&lt;BR&gt;????? Else&lt;BR&gt;?????? bNetLogon = True&lt;BR&gt;????????? If "Stopped" = GetData(SCRIPT_NAME &amp; ":NetLogon") Then&lt;BR&gt;??????????? SetData SCRIPT_NAME &amp; ":NetLogon", "Running"&lt;BR&gt;??????????? strMessage = "NetLogon Service is in the '" &amp; strStatus &amp; "' state."&lt;BR&gt;??????????? CreateEvent EVENTID_NETLOGON_NOTRUNNING, EVENT_TYPE_INFORMATION, strMessage&lt;BR&gt;????????? End If&lt;BR&gt;??????? End If&lt;BR&gt;????? End If&lt;/DIV&gt;
&lt;DIV&gt;????? Err.Clear&lt;BR&gt;?? &lt;BR&gt;????? 'Get the status of service kdc&lt;BR&gt;????? bTemp = IsServiceStarted("kdc", strStatus, FALSE)&lt;BR&gt;????? If 0 &lt;&gt; Err.Number Then&lt;BR&gt;??????? bSuccess = False&lt;BR&gt;??????? strMessage = "The script '" &amp; SCRIPT_NAME &amp; "' failed while determining whether the service " &amp; _&lt;BR&gt;????????????????????? "'kdc' was running." &amp; vbCrLf &amp; GetErrorString(Err.Number, Err.Description)&lt;BR&gt;??????? CreateEvent EVENTID_SCRIPT_ERROR, EVENT_TYPE_WARNING, strMessage&lt;BR&gt;????? Else&lt;BR&gt;??????? If Not(bTemp) Then&lt;BR&gt;????????? strMessage = "Kerberos Key Distribution Center Service is in the '" &amp; strStatus &amp; "' state."&lt;BR&gt;????????? bSuccess = False&lt;BR&gt;????????? CreateEvent EVENTID_KDC_NOTRUNNIG, EVENT_TYPE_ERROR, strMessage&lt;BR&gt;????????? SetData SCRIPT_NAME &amp; ":KDC", "Stopped"&lt;BR&gt;??????? Else&lt;BR&gt;????????? If "Stopped" = GetData(SCRIPT_NAME &amp; ":KDC") Then&lt;BR&gt;??????????? SetData SCRIPT_NAME &amp; ":KDC", "Running"&lt;BR&gt;??????????? strMessage = "Kerberos Key Distribution Center Service is in the '" &amp; strStatus &amp; "' state."&lt;BR&gt;??????????? CreateEvent EVENTID_KDC_NOTRUNNING, EVENT_TYPE_INFORMATION, strMessage&lt;BR&gt;????????? End If&lt;BR&gt;??????? End If&lt;BR&gt;????? End If&lt;/DIV&gt;
&lt;DIV&gt;????? Err.Clear&lt;BR&gt;?? &lt;BR&gt;????? 'Get the status of service W32Time&lt;BR&gt;????? bTemp = IsServiceStarted("W32Time", strStatus, FALSE)&lt;BR&gt;????? If 0 &lt;&gt; Err.Number Then&lt;BR&gt;??????? bSuccess = False&lt;BR&gt;??????? strMessage = "The script '" &amp; SCRIPT_NAME &amp; "' failed while determining whether the service " &amp; _&lt;BR&gt;????????????????????? "'W32Time' was running." &amp; vbCrLf &amp; GetErrorString(Err.Number, Err.Description)&lt;BR&gt;??????? CreateEvent EVENTID_SCRIPT_ERROR, EVENT_TYPE_WARNING, strMessage&lt;BR&gt;????? Else&lt;BR&gt;??????? If Not(bTemp) Then&lt;BR&gt;????????? strMessage = "Windows Time Service is in the '" &amp; strStatus &amp; "' state."&lt;BR&gt;????????? bSuccess = False&lt;BR&gt;????????? CreateEvent EVENTID_W32TIME_NOTRUNNING, EVENT_TYPE_ERROR, strMessage&lt;BR&gt;????????? SetData SCRIPT_NAME &amp; ":W32Time", "Stopped"&lt;BR&gt;??????? Else&lt;BR&gt;????????? If "Stopped" = GetData(SCRIPT_NAME &amp; ":W32Time") Then&lt;BR&gt;??????????? SetData SCRIPT_NAME &amp; ":W32Time", "Running"&lt;BR&gt;??????????? strMessage = "W32Time Service is in the '" &amp; strStatus &amp; "' state."&lt;BR&gt;??????????? CreateEvent EVENTID_W32TIME_NOTRUNNING, EVENT_TYPE_INFORMATION, strMessage&lt;BR&gt;????????? End If&lt;BR&gt;??????? End If&lt;BR&gt;????? End If&lt;/DIV&gt;
&lt;DIV&gt;????? Err.Clear&lt;BR&gt;?? &lt;BR&gt;????? 'Get the status of service ISM, but only if we're running Win2K&lt;BR&gt;????? bTemp = IsWindows2000()&lt;BR&gt;????? if 0 &lt;&gt; Err.Number Then&lt;BR&gt;??????? bSuccess = False&lt;BR&gt;??????? strMessage = "The script '" &amp; SCRIPT_NAME &amp; "' failed while determining whether the " &amp; _&lt;BR&gt;????????????????????? "operating system is Windows 2000." &amp; vbCrLf &amp; GetErrorString(Err.Number, Err.Description)&lt;BR&gt;??????? CreateEvent EVENTID_SCRIPT_ERROR, EVENT_TYPE_WARNING, strMessage&lt;BR&gt;????? Else&lt;BR&gt;??????? If bTemp Then&lt;BR&gt;??????? &lt;BR&gt;??????? bTemp = IsServiceStarted("IsmServ", strStatus, FALSE) &lt;BR&gt;??????? If 0 &lt;&gt; Err.Number Then&lt;BR&gt;????????? bSuccess = False&lt;BR&gt;????????? strMessage = "The script '" &amp; SCRIPT_NAME &amp; "' failed while determining whether the service " &amp; _&lt;BR&gt;????????????? "'IsmServ' was running." &amp; vbCrLf &amp; GetErrorString(Err.Number, Err.Description)&lt;BR&gt;????????? CreateEvent EVENTID_SCRIPT_ERROR, EVENT_TYPE_WARNING, strMessage&lt;BR&gt;??????? Else&lt;BR&gt;????????? If Not(bTemp) Then&lt;BR&gt;?????????? strMessage = "Intersite Messaging Service is in the '" &amp; strStatus &amp; "' state."&lt;BR&gt;?????????? bSuccess = False&lt;BR&gt;?????????? CreateEvent EVENTID_ISM_NOTRUNNING, EVENT_TYPE_ERROR, strMessage&lt;BR&gt;?????????? SetData SCRIPT_NAME &amp; ":ISM", "Stopped"&lt;BR&gt;????????? Else&lt;BR&gt;?????????? If "Stopped" = GetData(SCRIPT_NAME &amp; ":ISM") Then&lt;BR&gt;???????????? SetData SCRIPT_NAME &amp; ":ISM", "Running"&lt;BR&gt;???????????? strMessage = "Intersite Messaging Service is in the '" &amp; strStatus &amp; "' state."&lt;BR&gt;???????????? CreateEvent EVENTID_ISM_NOTRUNNING, EVENT_TYPE_INFORMATION, strMessage&lt;BR&gt;?????????? End If&lt;BR&gt;???????? End If&lt;BR&gt;??????? End If&lt;BR&gt;????? End If&lt;BR&gt;????? End If&lt;BR&gt;?????? &lt;BR&gt;??? Err.Clear&lt;/DIV&gt;
&lt;DIV&gt;????? '&lt;BR&gt;????? 'try to connect to SYSVOL share&lt;BR&gt;????? '&lt;BR&gt;????? Dim objNetwork&lt;BR&gt;????? &lt;BR&gt;????? Set objNetwork = CreateObject("Wscript.Network")&lt;BR&gt;????? If (0 &lt;&gt; Err.Number) Or (Not(IsObject(objNetwork))) Then&lt;BR&gt;??????? strMessage = "The script '" &amp; SCRIPT_NAME &amp; "' failed to create the object 'WScript.Network'." &amp; vbCrLf &amp; GetErrorString(Err.Number, Err.Description)&lt;BR&gt;??????? bSuccess = False&lt;BR&gt;??????? CreateEvent EVENTID_SCRIPT_ERROR, EVENT_TYPE_WARNING, strMessage&lt;BR&gt;????? Else&lt;BR&gt;&lt;FONT color=#000080&gt;&lt;STRONG&gt;??????? ' 追加&lt;BR&gt;??????? strLocalComputerName = objNetwork.ComputerName&lt;BR&gt;??????? ' 追加&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;STRONG&gt;&lt;FONT color=#000080&gt;??????? ' 変更&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT color=#000080&gt;&lt;STRONG&gt;??????? ' objNetwork.MapNetworkDrive "", "\\127.0.0.1\SYSVOL"&lt;BR&gt;??????? objNetwork.MapNetworkDrive "", "\\" &amp; strLocalComputerName &amp; "\SYSVOL"&lt;BR&gt;&lt;/DIV&gt;&lt;/STRONG&gt;&lt;/FONT&gt;
&lt;DIV&gt;&lt;STRONG&gt;&lt;FONT color=#000080&gt;??????? ' 変更&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/DIV&gt;
&lt;DIV&gt;??????? If 0 &lt;&gt; Err.Number Then&lt;/DIV&gt;
&lt;DIV&gt;&lt;STRONG&gt;&lt;FONT color=#000080&gt;? ??????? ' 変更&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT color=#000080&gt;&lt;STRONG&gt;????????? ' strMessage = "'net use &lt;/STRONG&gt;&lt;/FONT&gt;&lt;A href="file://\\127.0.0.1\SYSVOL'"&gt;&lt;FONT color=#000080&gt;&lt;STRONG&gt;\\127.0.0.1\SYSVOL'&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;FONT color=#000080&gt;&lt;STRONG&gt; failed.? " &amp; vbCrLf &amp; GetErrorString(Err.Number, Err.Description)&lt;BR&gt;????????? strMessage = "'net use \\" &amp; strLocalComputerName &amp; "\SYSVOL' failed.? " &amp; vbCrLf &amp; GetErrorString(Err.Number, Err.Description)&lt;BR&gt;&lt;/DIV&gt;&lt;/STRONG&gt;&lt;/FONT&gt;
&lt;DIV&gt;&lt;STRONG&gt;&lt;FONT color=#000080&gt;??? ????? ' 変更&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/DIV&gt;
&lt;DIV&gt;????????? bSuccess = False&lt;BR&gt;????????? CreateEvent EVENTID_SYSVOL_FAILED, EVENT_TYPE_ERROR, strMessage&lt;BR&gt;????????? SetData SCRIPT_NAME &amp; ":SYSVOL", "Stopped"&lt;BR&gt;??????? Else&lt;BR&gt;????????? If "Stopped" = GetData(SCRIPT_NAME &amp; ":SYSVOL") Then&lt;BR&gt;??????????? SetData SCRIPT_NAME &amp; ":SYSVOL", "Running"&lt;/DIV&gt;
&lt;DIV&gt;
&lt;DIV&gt;&lt;STRONG&gt;&lt;FONT color=#000080&gt;??? ??????? ' 変更&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/DIV&gt;&lt;FONT color=#000080&gt;&lt;STRONG&gt;??????????? ' strMessage = "'net use &lt;/STRONG&gt;&lt;/FONT&gt;&lt;A href="file://\\127.0.0.1\SYSVOL'"&gt;&lt;FONT color=#000080&gt;&lt;STRONG&gt;\\127.0.0.1\SYSVOL'&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;FONT color=#000080&gt;&lt;STRONG&gt; has succeeded after a number of failures."&lt;BR&gt;??????????? strMessage = "'net use \\" &amp; strLocalComputerName &amp; "\SYSVOL' has succeeded after a number of failures."&lt;BR&gt;&lt;/STRONG&gt;&lt;/FONT&gt;
&lt;DIV&gt;&lt;STRONG&gt;&lt;FONT color=#000080&gt;??? ??????? ' 変更&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/DIV&gt;??????????? CreateEvent EVENTID_SYSVOL_FAILED, EVENT_TYPE_INFORMATION, strMessage&lt;BR&gt;????????? End If&lt;BR&gt;????????? 'delete the share that is created&lt;BR&gt;
&lt;DIV&gt;&lt;STRONG&gt;&lt;FONT color=#000080&gt;????????? ' 変更&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/DIV&gt;&lt;FONT color=#000080&gt;&lt;STRONG&gt;????????? ' objNetwork.RemoveNetworkDrive "\\127.0.0.1\SYSVOL"&lt;BR&gt;????????? objNetwork.RemoveNetworkDrive "\\" &amp; strLocalComputerName &amp; "\SYSVOL"&lt;BR&gt;&lt;/STRONG&gt;&lt;/FONT&gt;
&lt;DIV&gt;&lt;STRONG&gt;&lt;FONT color=#000080&gt;????????? ' 変更&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/DIV&gt;??????? End If&lt;BR&gt;??????? Set objNetwork = Nothing&lt;BR&gt;????? End If&lt;BR&gt;??? &lt;BR&gt;????? ' The RemoveNetworkDrive call sometimes fails, ignore the error and clear it&lt;BR&gt;????? ' so it doesn't screw up the next check.&lt;BR&gt;????? Err.Clear&lt;BR&gt;????????? &lt;BR&gt;????? ' Determine whether the system has been running for more than 20 minutes&lt;BR&gt;????? Dim bUptimeOkay&lt;BR&gt;????? bUptimeOkay = False&lt;BR&gt;????? Dim oWMI&lt;BR&gt;????? Set oWMI = GetObject("winmgmts:").InstancesOf("Win32_PerfRawData_PerfOS_System")&lt;BR&gt;????? If (0 &lt;&gt; Err.Number) Or (Not(IsObject(oWMI))) Then&lt;BR&gt;??????? strMessage = "The script '" &amp; SCRIPT_NAME &amp; "' failed to get instances of the " &amp; _&lt;BR&gt;????????????????????? "'Win32_PerfRawData_PerfOS_System' object." &amp; vbCrLf &amp; _&lt;BR&gt;????????????????????? GetErrorString(Err.Number, Err.Description)&lt;BR&gt;??????? CreateEvent EVENTID_SCRIPT_ERROR, EVENT_TYPE_WARNING, strMessage&lt;BR&gt;??????? bSuccess = False&lt;BR&gt;????? Else&lt;BR&gt;??????? Dim oSystem&lt;BR&gt;??????? For Each oSystem in oWMI&lt;BR&gt;????????? If IsObject(oSystem) Then&lt;BR&gt;??????????? ' Ludicrous code path is because if an error occurs in the If&lt;BR&gt;??????????? ' statement (which occasionally it does) then the next line&lt;BR&gt;??????????? ' i.e. inside the If statement is executed.&lt;BR&gt;??????????? If (oSystem.TimeStamp_Sys100NS / 10000000) &lt; 1200 Then ' 20 Minutes&lt;BR&gt;??????????? Else&lt;BR&gt;????????????? bUptimeOkay = True&lt;BR&gt;??????????? End If&lt;BR&gt;????????? End If&lt;BR&gt;??????? Next&lt;BR&gt;????? End If&lt;/DIV&gt;
&lt;DIV&gt;????? '&lt;BR&gt;????? ' find the DC through the DC locater&lt;BR&gt;????? ' but only if the netlogon test succeeded??? &lt;BR&gt;????? ' and we have been running for an acceptable length of time&lt;BR&gt;????? '&lt;BR&gt;????? If bNetLogon And bUptimeOkay Then&lt;BR&gt;??????? Dim objDomain&lt;BR&gt;??????? Dim iStart, iEnd&lt;BR&gt;??????? Dim strLongDCName, strDCName&lt;BR&gt;??????? Dim bDCLocaterSucceeded&lt;/DIV&gt;
&lt;DIV&gt;??????? bDCLocaterSucceeded = False&lt;/DIV&gt;
&lt;DIV&gt;??????? ' get the name of the DC of this machine&lt;BR&gt;??????? Err.Clear&lt;BR&gt;?????? &lt;BR&gt;??????? Dim oSysInfo&lt;BR&gt;??????? Set oSysInfo = CreateObject("ADSystemInfo")&lt;BR&gt;??????? If (0 &lt;&gt; Err.Number) Or (Not(IsObject(oSysInfo))) Then&lt;BR&gt;????????? strMessage = "The script '" &amp; SCRIPT_NAME &amp; "' failed to create the object 'ADSystemInfo'." &amp; vbCrLf &amp; _&lt;BR&gt;??????????????????????? GetErrorString(Err.Number, Err.Description)&lt;BR&gt;????????? CreateEvent EVENTID_SCRIPT_ERROR, EVENT_TYPE_WARNING, strMessage&lt;BR&gt;????????? bSuccess = False&lt;BR&gt;??????? Else&lt;BR&gt;????????? strDCName = oSysInfo.GetAnyDCName()&lt;BR&gt;????????? If (0 &lt;&gt; Err.Number) Then&lt;BR&gt;??????????? strMessage = "The script '" &amp; SCRIPT_NAME &amp; "' failed to get any DCs name using 'ADSystemInfo.GetAnyDCName'." &amp; vbCrLf &amp; _&lt;BR&gt;????????????????????????? GetErrorString(Err.Number, Err.Description)&lt;BR&gt;??????????? CreateEvent EVENTID_SCRIPT_ERROR, EVENT_TYPE_WARNING, strMessage&lt;BR&gt;??????????? bSuccess = False&lt;BR&gt;????????? Else&lt;BR&gt;??????????? ' Remove the domain part of the DNS name &lt;BR&gt;??????????? Dim lDomainStart&lt;BR&gt;??????????? lDomainStart = Instr(strDCName, ".") - 1&lt;BR&gt;??????????? If lDomainStart &gt; 0 Then&lt;BR&gt;????????????? strDCName = Left(strDCName, lDomainStart)&lt;BR&gt;??????????? End If&lt;/DIV&gt;
&lt;DIV&gt;??????????? Set oWMI = GetObject("winmgmts:").InstancesOf("Win32_NetworkAdapterConfiguration")&lt;BR&gt;??????????? If (0 &lt;&gt; Err.Number) Or (Not(IsObject(oWMI))) Then&lt;BR&gt;????????????? strMessage = "The script '" &amp; SCRIPT_NAME &amp; "' failed to get instances of the " &amp; _&lt;BR&gt;??????????????????????????? "'Win32_NetworkAdapterConfiguration' object." &amp; vbCrLf &amp; _&lt;BR&gt;??????????????????????????? GetErrorString(Err.Number, Err.Description)&lt;BR&gt;????????????? CreateEvent EVENTID_SCRIPT_ERROR, EVENT_TYPE_WARNING, strMessage&lt;BR&gt;????????????? bSuccess = False&lt;BR&gt;??????????? Else&lt;BR&gt;????????????? Dim oNetworkAdapter&lt;BR&gt;????????????? For Each oNetworkAdapter In oWMI&lt;BR&gt;??????????????? If IsObject(oNetworkAdapter) Then&lt;BR&gt;????????????????? If Len(oNetworkAdapter.DNSHostName) &gt; 0 Then&lt;BR&gt;??????????????????? strComputerName = oNetworkAdapter.DNSHostName&lt;BR&gt;??????????????????? &lt;BR&gt;??????????????????? If Len(strComputerName) &gt; 0 Then&lt;BR&gt;????????????????????? ' DC Name should be the same as local name&lt;BR&gt;????????????????????? If LCase(strDCName) = LCase(strComputerName) Then&lt;BR&gt;??????????????????????? bDCLocaterSucceeded = True&lt;BR&gt;????????????????????? End If&lt;BR&gt;??????????????????? End If&lt;BR&gt;????????????????? End If&lt;BR&gt;??????????????? End If&lt;BR&gt;????????????? Next&lt;/DIV&gt;
&lt;DIV&gt;????????????? If bDCLocaterSucceeded = False Then&lt;BR&gt;??????????????? strMessage = "The DC Locator service is not advertising.? This means that no clients will " &amp; _&lt;BR&gt;????????????????????????????? "be able to connect to this Domain Controller." &amp; vbCrLf &amp; _&lt;BR&gt;????????????????????????????? "When queried, the DC Locator returned a remote DC (" &amp; strDCName &amp; "), instead of local DC (" &amp; strComputerName &amp; ")."&lt;BR&gt;??????????????? CreateEvent EVENTID_DCLOCATER_FAILED, EVENT_TYPE_ERROR, strMessage&lt;BR&gt;??????????????? bSuccess = False&lt;BR&gt;??????????????? SetData SCRIPT_NAME &amp; ":DCLocator" &amp; "Stopped"&lt;BR&gt;????????????? End If&lt;BR&gt;??????????? End If&lt;BR&gt;????????? End If&lt;BR&gt;??????? End If&lt;BR&gt;??? End If&lt;BR&gt;? ??&lt;BR&gt;??? If bDCLocaterSucceeded = True Then&lt;BR&gt;??????? If "Stopped" = GetData(SCRIPT_NAME &amp; ":DCLocator") Then&lt;BR&gt;????????? SetData SCRIPT_NAME &amp; ":DCLocator", "Running"&lt;BR&gt;????????? strMessage = "The DC Locator has resumed advertising."&lt;BR&gt;????????? CreateEvent EVENTID_DCLOCATER_FAILED, EVENT_TYPE_INFORMATION, strMessage&lt;BR&gt;??????? End If&lt;BR&gt;??? End If&lt;BR&gt;???? &lt;BR&gt;????? If bLogSuccessEvent And bSuccess Then&lt;BR&gt;??????? strMessage = "The script '" &amp; SCRIPT_NAME &amp; "' completed successfully in " &amp; _&lt;BR&gt;????????????????????? DateDiff("s", dtStart, Now) &amp; " seconds."&lt;BR&gt;??????? CreateEvent EVENTID_SUCCESS, EVENT_TYPE_INFORMATION, strMessage&lt;BR&gt;????? End If&lt;BR&gt;??? Else&lt;BR&gt;????? CreateEvent EVENT_ID_AGENTLESS, EVENT_TYPE_ERROR, "The AD Management Pack does not support the agentless management mode." &amp; vbCrLf &amp; _&lt;BR&gt;??????????????????????????????????????????????????????? "The script '" &amp; SCRIPT_NAME &amp; "' will not execute." &amp; vbCrLf &amp; _&lt;BR&gt;??????????????????????????????????????????????????????? "To prevent this alert being generated again, either change the monitoring " &amp; _&lt;BR&gt;??????????????????????????????????????????????????????? "mode of the computer '" &amp; ScriptContext.TargetFQDNComputer &amp; "' to agent-managed " &amp; _&lt;BR&gt;??????????????????????????????????????????????????????? "or disable the rule that generated this alert."&lt;BR&gt;???????????????????????????????????????????????????????? &lt;BR&gt;??? End If&lt;BR&gt;? Else&lt;BR&gt;??? strMessage = "The script '" &amp; SCRIPT_NAME &amp; "' can only be executed by an event rule."&lt;BR&gt;??? CreateEvent EVENTID_EVENTREQUIRED, EVENT_TYPE_WARNING, strMessage&lt;BR&gt;? End If&lt;/DIV&gt;
&lt;DIV&gt;End Sub&lt;/DIV&gt;
&lt;DIV&gt;'******************************************************************************&lt;BR&gt;' Name:????IsServiceStarted&lt;BR&gt;' &lt;BR&gt;' Purpose:??To determine whether a given service is running&lt;BR&gt;'&lt;BR&gt;' Arguments:?[in] strServiceName, the name of the service that is to be checked&lt;BR&gt;'???????????? [out] strServiceState, the current state of the service&lt;BR&gt;'???????????? [in] bIgnoreDisabledServices, if True, then a service that is&lt;BR&gt;'?????????????? marked disabled as its StartMode will just return True&lt;BR&gt;'&lt;BR&gt;' Returns:??Boolean, returns True if the service is in the running state&lt;BR&gt;'&lt;BR&gt;' Remarks:??? If an error is encountered this function will throw an exception&lt;BR&gt;'???????????? the caller MUST handle this.&lt;BR&gt;'&lt;BR&gt;Function IsServiceStarted(strServiceName, strServiceState, bIgnoreDisabledServices)&lt;BR&gt;? IsServiceStarted = False&lt;BR&gt;? &lt;BR&gt;? ' Initialise the state with a dummy state in case something goes wrong&lt;BR&gt;? strServiceState = "Unknown"&lt;/DIV&gt;
&lt;DIV&gt;? Dim objServiceSet&lt;BR&gt;? Dim objService&lt;BR&gt;? Dim strQuery&lt;/DIV&gt;
&lt;DIV&gt;? 'Get the status of Service&lt;BR&gt;? strQuery = "select * from Win32_Service where Name='" &amp; strServiceName &amp; "'"&lt;/DIV&gt;
&lt;DIV&gt;? Set objServiceSet = GetObject("winmgmts:").ExecQuery(strQuery)&lt;/DIV&gt;
&lt;DIV&gt;? If Not IsEmpty(objServiceSet) Then&lt;BR&gt;??? IsServiceStarted = False&lt;BR&gt;??? For Each objService In objServiceSet&lt;BR&gt;????? strServiceState = objService.State&lt;BR&gt;????? If strServiceState = "Running" Or _&lt;BR&gt;????????? (objService.StartMode = "Disabled" And bIgnoreDisabledServices) Then&lt;BR&gt;??????? IsServiceStarted = True&lt;BR&gt;????? End If&lt;BR&gt;??? Next&lt;BR&gt;? End If? &lt;BR&gt;End Function&lt;/DIV&gt;
&lt;DIV&gt;'******************************************************************************&lt;BR&gt;' Name:????CreateEvent&lt;BR&gt;' &lt;BR&gt;' Purpose:??To create a MOM event&lt;BR&gt;'&lt;BR&gt;' Arguments:?lngEventID, the event ID&lt;BR&gt;'???????lngEventType, the event type (see values at top of file)&lt;BR&gt;'???????strMessage, the message text for the event&lt;BR&gt;'&lt;BR&gt;' Returns:??None&lt;BR&gt;'&lt;BR&gt;Sub CreateEvent(lngEventID, lngEventType, strMessage)&lt;BR&gt;? On Error Resume Next&lt;/DIV&gt;
&lt;DIV&gt;? Dim objNewEvent&lt;/DIV&gt;
&lt;DIV&gt;? ' Create a new event&lt;BR&gt;? Set objNewEvent = ScriptContext.CreateEvent&lt;/DIV&gt;
&lt;DIV&gt;? ' Set event properties&lt;BR&gt;? objNewEvent.Message = strMessage&lt;BR&gt;? objNewEvent.EventNumber = lngEventID&lt;BR&gt;? objNewEvent.EventType = lngEventType&lt;/DIV&gt;
&lt;DIV&gt;? ' Submit the event&lt;BR&gt;? ScriptContext.Submit objNewEvent&lt;/DIV&gt;
&lt;DIV&gt;? Set objNewEvent = Nothing&lt;/DIV&gt;
&lt;DIV&gt;End Sub&lt;/DIV&gt;
&lt;DIV&gt;'******************************************************************************&lt;BR&gt;' Name:???????? GetErrorString&lt;BR&gt;'&lt;BR&gt;' Purpose:????? Attempts to find the description for an error if no description&lt;BR&gt;'?????????????? is passed in.&lt;BR&gt;' &lt;BR&gt;' Parameters:?? lErrNumber, the error number&lt;BR&gt;'?????????????? strErrDescription, the error description (if known)&lt;BR&gt;'&lt;BR&gt;' Return:?????? String, the description for the error.? (Includes the error code.)&lt;BR&gt;'&lt;BR&gt;Function GetErrorString(lErrNumber, strErrDescription)&lt;BR&gt;? On Error Resume Next&lt;/DIV&gt;
&lt;DIV&gt;? If 0 &gt;= Len(strErrDescription) Then&lt;BR&gt;??? ' If we don't have an error description, then check to see if the error&lt;BR&gt;??? ' is a 0x8007xxxx error.? If it is, then look it up.&lt;BR&gt;??? Const ErrorMask = &amp;HFFFF0000? &lt;BR&gt;??? Const HiWord8007 = &amp;H80070000&lt;BR&gt;??? Const LoWordMask = 65535????????? ' This is equivalent to 0x0000FFFF&lt;/DIV&gt;
&lt;DIV&gt;??? If (lErrNumber And ErrorMask) = HiWord8007 Then&lt;BR&gt;????? Dim oShell&lt;BR&gt;????? Set oShell = CreateObject("WScript.Shell")&lt;BR&gt;????? If IsObject(oShell) Then&lt;BR&gt;??????? Dim oExec &lt;BR&gt;??????? Set oExec = oShell.Exec("net helpmsg " &amp; (lErrNumber And LoWordMask))&lt;/DIV&gt;
&lt;DIV&gt;??????? Dim strMessage, i&lt;BR&gt;??????? Do&lt;BR&gt;????????? strMessage = oExec.stdout.ReadLine()&lt;BR&gt;????????? i = i + 1&lt;BR&gt;??????? Loop While (Len(strMessage) = 0) And (i &lt; 5)&lt;/DIV&gt;
&lt;DIV&gt;??????? strErrDescription = strMessage&lt;BR&gt;??????? End If&lt;BR&gt;????? End If?&lt;BR&gt;??? End If&lt;/DIV&gt;
&lt;DIV&gt;??? GetErrorString = "The error returned was '" &amp; strErrDescription &amp; "' (0x" &amp; Hex(lErrNumber) &amp; ")"&lt;BR&gt;End Function&lt;/DIV&gt;
&lt;DIV&gt;'******************************************************************************&lt;BR&gt;Function GetData(strKey)&lt;BR&gt;' &lt;BR&gt;' Purpose:??Retrieves data out of a varset.? Uses the key to determine what&lt;BR&gt;'???????????? data to retrieve.&lt;BR&gt;'&lt;BR&gt;' Arguments:?strKey, the key of the data to retrieve&lt;BR&gt;'&lt;BR&gt;' Returns:??String, the data to return or an empty string&lt;BR&gt;'&lt;BR&gt;? On Error Resume Next&lt;BR&gt;? Dim oVarSet&lt;BR&gt;? Set oVarSet = ScriptContext.GetScriptState.GetSet(SCRIPT_NAME)&lt;BR&gt;? If IsObject(oVarSet) Then&lt;BR&gt;??? GetData = oVarSet.Get(strKey)&lt;BR&gt;? End If&lt;BR&gt;End Function&lt;/DIV&gt;
&lt;DIV&gt;'******************************************************************************&lt;BR&gt;Sub SetData(strKey, strData)&lt;BR&gt;' &lt;BR&gt;' Purpose:??To store data in a varset.? If the key exists then the data &lt;BR&gt;'???????????? associated with that key is replaced, otherwise the key/data&lt;BR&gt;'???????????? combination is added to the varset.&lt;BR&gt;'&lt;BR&gt;' Arguments:?strKey, the key of the line to replace&lt;BR&gt;'???????????? strData, the data to associate with the key&lt;BR&gt;'&lt;BR&gt;' Returns:??Nothing&lt;BR&gt;'&lt;BR&gt;? Dim oVarSet&lt;BR&gt;? Set oVarSet = ScriptContext.GetScriptState.GetSet(SCRIPT_NAME)&lt;BR&gt;? If IsObject(oVarSet) Then&lt;BR&gt;??? oVarSet.Put strKey, strData&lt;BR&gt;??? ScriptContext.GetScriptState.SaveSet SCRIPT_NAME, oVarSet&lt;BR&gt;? End If&lt;BR&gt;End Sub&lt;/DIV&gt;
&lt;DIV&gt;' Global variable that will hold the OS version&lt;BR&gt;Dim strOSVersion&lt;/DIV&gt;
&lt;DIV&gt;'******************************************************************************&lt;BR&gt;Sub EnsureOSVersion()&lt;BR&gt;' &lt;BR&gt;' Purpose:??To ensure that we've obtained the OS Version string&lt;BR&gt;'&lt;BR&gt;' Arguments:?None&lt;BR&gt;'&lt;BR&gt;' Returns:??Nothing&lt;BR&gt;'&lt;BR&gt;?'&lt;BR&gt;?' If we haven't queried for the local OS yet, query for it and store it in the &lt;BR&gt;?' global script variable.? Then if this (or any other OS version routine) is &lt;BR&gt;?' called again during the execution of this script, we won't query again.&lt;BR&gt;?'&lt;BR&gt;? If Len(strOSVersion) = 0 Then&lt;BR&gt;??Dim oWMI, oOperatingSystems, oOS&lt;BR&gt;??Set oWMI = GetObject("winmgmts:")&lt;BR&gt;??Set oOperatingSystems = oWMI.ExecQuery("SELECT * FROM Win32_OperatingSystem")&lt;BR&gt;??' &lt;BR&gt;??' There should only be one returned, but handle the case where there isn't by&lt;BR&gt;??' storing the last OS version found.&lt;BR&gt;??'&lt;BR&gt;??For Each oOS in oOperatingSystems&lt;BR&gt;???strOSVersion = oOS.Version&lt;BR&gt;??Next&lt;BR&gt;?End If?&lt;BR&gt;End Sub&lt;/DIV&gt;
&lt;DIV&gt;'******************************************************************************&lt;BR&gt;Function IsWindows2000()&lt;BR&gt;' &lt;BR&gt;' Purpose:??To determine whether the local computer is running Windows 2000&lt;BR&gt;'&lt;BR&gt;' Arguments:?None&lt;BR&gt;'&lt;BR&gt;' Returns:??Boolean, True if the computer is running Windows 2000, False otherwise&lt;BR&gt;'&lt;BR&gt;?EnsureOSVersion&lt;BR&gt;??&lt;BR&gt;?'&lt;BR&gt;?' Determine if the OS version is Windows 2000&lt;BR&gt;?'&lt;BR&gt;?IsWindows2000 = Left(strOSVersion, 3) = "5.0"&lt;BR&gt;End Function&lt;/DIV&gt;&lt;img src ="http://blogs.sqlpassj.org/mitsugi/aggbug/14993.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>おがわみつぎ</dc:creator><title>[MOM]パトライト管理 パック 作成 ガイド</title><link>http://blogs.sqlpassj.org/mitsugi/archive/2005/05/31/9329.aspx</link><pubDate>Tue, 31 May 2005 16:44:00 GMT</pubDate><guid>http://blogs.sqlpassj.org/mitsugi/archive/2005/05/31/9329.aspx</guid><wfw:comment>http://blogs.sqlpassj.org/mitsugi/comments/9329.aspx</wfw:comment><comments>http://blogs.sqlpassj.org/mitsugi/archive/2005/05/31/9329.aspx#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://blogs.sqlpassj.org/mitsugi/comments/commentRss/9329.aspx</wfw:commentRss><trackback:ping>http://blogs.sqlpassj.org/mitsugi/services/trackbacks/9329.aspx</trackback:ping><description>&lt;P&gt;河端さんが力強く押していた「パトライト」。&lt;/P&gt;
&lt;P&gt;それに連動する管理パック作成ガイドが公開されました。&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=108ba350-f8b8-47be-8889-1859b5ad8c12&amp;DisplayLang=ja"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=108ba350-f8b8-47be-8889-1859b5ad8c12&amp;DisplayLang=ja&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;なんだかうれしいです。&lt;/P&gt;&lt;img src ="http://blogs.sqlpassj.org/mitsugi/aggbug/9329.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>