SlideShare a Scribd company logo
第2部 応用編①
WMI による Windows Server の 監視
                       マ゗クロソフト株式会社
                            エバンジェリスト
                                   安納 順一
          http://blogs.technet.com/junichia/

                                               1
本日の目的
 WMIを使用して
     Windows Server を監視する方法を学びます

 ※今回は VBScript を使用します

   WMIとは何か?
   WMIを使用したスクリプト作成の基礎
   WMIを使用した゗ベントの待ち合わせ
   WMIを使用した永続的監視の実装
  スクリプトの奥深さに感動していただけるはずです




                                   2
WMI とは
 Windows Management Instrumentation
  WBEM/CIMに準拠
  各種管理情報への共通゗ンターフェース
  Windows Management Serviceとして実装
  Windows 2000以上のOSに標準搭載
  WMIプロバ゗ダはベンダーが拡張可能
  別途エージェントは一切必要なし
  もちろんタダ!




                                      3
4
WMI にゕクセスするには

  バッチフゔ゗ルから
   WMICコマンド(Windows XP以降)
  Windows Script Host から
  PowerShell から
  Visual Studio から
  GUIツールから
   WMI Admin Tools など


                            5
WMIのゕーキテクチャ
 管理ゕプリケーション



                      COM/DCOM   CIM Repository
 CIM Object Manager



 Object Provider      COM/DCOM




 Object




                                    ・・・・・・・
                                                  6
WMIの構造
 %WinDir%¥System32¥wbem 配下の mof (Managed Object Format)
 フゔ゗ルに定義されている

                                 Namespace によって使える
          Namespace              Class が異なることに注意

                                 規定のNamespaceは
                      Class
                                 Root¥CIMV2

 (例) ROOT¥COMV2
           Win32_OperatingSystem
           Win32_NTLogEventLog
           ・
           ・
     ROOT¥Default
           STDREGPROV
     ROOT¥microsoft¥SqlServer¥ComputerManagement10
           SqlService
           ・
                                                          7
           ・
WMIの主役 Win32_クラス
 一部抜粋
Win32_ActiveRoute              Win32_ModuleTrace
Win32_ComputerShutdownEvent    Win32_NamedJobObject
Win32_ComputerSystemEvent      Win32_NTDomain
Win32_ConnectionShare          Win32_PingStatus
Win32_CurrentTime              Win32_ProcessStartTrace
Win32_DeviceChangeEvent        Win32_ProcessStopTrace
Win32_DiskQuota                Win32_Proxy
Win32_GroupInDomain            Win32_QuotaSetting
Win32_IP4PersistedRouteTable   Win32_ServerConnection
Win32_IP4RouteTable            Win32_SessionConnection
Win32_IP4RouteTableEvent       Win32_TokenGroups
Win32_JobObjectStatus          Win32_TokenPrivileges
Win32_LoggedOnUser             Win32_VolumeChangeEvent
Win32_LogonSession             Win32_WindowsProductActivation
Win32_LogonSessionMappedDisk   Win32_ControllerHasHub
Win32_NetworkAdapter                  ・
Win32_ComputerSystem                  ・
       ・                              ・
       ・
                                                                8
WMI Tools ~ CIM Studio
 ブラウザを使用して、WMIの構造、実際の゗ンスタンスを確認
 クエリを発行して戻り値を確認
 リモートコンピュータに接続も可能




                                 9
WMIにVBScriptから接続




                   10
WMI Scriptingの基本形
 'SWbemLocator オブジェクトの作成
 Set Locator = CreateObject("WbemScripting.SWbemLocator")

 ‘ローカルコンピュータへの接続
 Set Service = Locator.ConnectServer("", "root¥cimv2", "", "")

 ‘クエリーの定義(WQL:WMI Query Language)
 strQuery = "Select * from Win32_NetworkAdapterConfiguration " & _
            "where IPEnabled = True"

 ‘クエリーの実行(インスタンスを取得する)
 Set objNet = Service.ExecQuery(strQuery)

 '結果の参照
 For each n in objNet
         WScript.Echo n.caption
         WScript.Echo n.MACAddress
 Next

                                                                     11
WMIスクリプトの実行権限
  リモートコンピュータに対するゕクセス権の取得
Set Service = Locator.ConnectServer(RemoteHost,Namespace,User,Password)



   特殊権限の取得
Set Locator = CreateObject("WbemScripting.SWbemLocator")

Set Service = Locator.ConnectServer("DC01", "root¥cimv2", "Dom¥administrator", "pass")

Service.Security_.Privileges.AddAsString "SeBackupPrivilege", True
Service.Security_.Privileges.AddAsString "SeSecurityPrivilege", True

strQuery = "Select * from Win32_NTEventlogFile" & _
            " Where LogfileName = 'Security' "

Set obj = Service.ExecQuery(strQuery)

For each n in obj
          r = n.BackupEventLog("C:¥tmp¥Security.evt")
Next

                                                                                         12
(注意)リモートコンピュータにゕクセスする前に①
 リモートからの接続が許可されていることを確認
 規定ではシステム管理者にはゕクセスが許可されている




                             13
(注意)リモートコンピュータにゕクセスする前に②




                           14
サーバーを監視する




            15
゗ベントの監視
  システムで発生した゗ベントをトリガーとして処理を実行
  一時監視と永続的監視
  以下の゗ベント監視用クラスが用意されている
   __InstanceCreationEvent
      あたらしい゗ンスタンスが作成された
   __InstanceModificationEvent
      ゗ンスタンスの属性が変更された
   __InstanceDeletionEvent
      既存の゗ンスタンスが削除された




                                 16
監視の゗メージ


             ゗ベントログに゗ベ
   WORDが起動    ントが書かれた  USBデバ゗スが挿された
               タ゗ムゾーンが変更
  ユーザーがログオン
                        IPゕドレス変更
  シャットダウン      メモ帳が終了




                                      17
一時的な監視例①
__InstanceCreationEventによる新たに作成されたインスタンスの監視

Set objLocator = CreateObject("WbemScripting.SWbemLocator")
Set objService = objLocator.ConnectServer(TargetComputer, _
                                             "", AdminUser, AdminPass)

strQueryCreate = "Select * " & _
                  "FROM __InstanceCreationEvent WITHIN 5 " & _
                                                                      監視したい
                  "WHERE TargetInstance ISA 'Win32_Process' "          クラス

Set objEventsCreation = objService.ExecNotificationQuery(strQueryCreate)

Do
         Set CreationEvent = objEventsCreation.Nextevent
         ProcessName = CreationEvent.TargetInstance.Name        Win32_Procass
         Wscript.Echo ProcessName                                のプロパテゖ
Loop


                                                                                18
一時的な監視例②
__InstanceModificationEventによるユーザーログオンの監視

Set objLocator = CreateObject("WbemScripting.SWbemLocator")
Set objService = objLocator.ConnectServer(TargetComputer, _
                           ‚ROOT¥CIMV2", AdminUser, AdminPass)

strQuery= "Select * " & _
         "FROM __InstanceModificationEvent WITHIN 5 " & _
         "WHERE TargetInstance ISA 'Win32_ComputerSystem' "

Set objEventsModification = objService.ExecNotificationQuery(strQuery)

Do
         Set ModificationEvent = objEventsModification.Nextevent
         UserName = ModificationEvent.TargetInstance.UserName
         Wscript.Echo UserName
Loop


                                                                         19
そこでこんな方法…
       現在のログオンセッション一覧をキャッシュ
       ログオンしたらセッション作成
       ログオフしたらセッション削除


            ログオン時に割り振られた番号

            ログオンのタ゗プ(対話、ネットワーク…)




       現在ログオンしているユーザーのユーザーIDとログ
       オンIDをキャッシュ


            ログオンしたユーザーID

            ログオン時に割り振られた番号


                                   20
一時的な監視例③
__InstanceCreationEventによるユーザーログオンの監視
Set objLocator = CreateObject("WbemScripting.SWbemLocator")
Set objService = objLocator.ConnectServer("demo2008", "ROOT¥CIMV2", "", "")
Wscript.Echo "接続が完了しました"
strQueryCreate = "Select * FROM __InstanceCreationEvent WITHIN 5 " & _
                         "WHERE TargetInstance ISA 'Win32_LogonSession' ‚
Set objEventsCreation = objService.ExecNotificationQuery(strQueryCreate)
Do
            Set CreationEvent = objEventsCreation.Nextevent
            LogonId= CreationEvent.TargetInstance.LogonID
            LogonType = CreationEvent.TargetInstance.LogonType
            strQueryLU = "Select * " & _
                         ‚FROM Win32_LoggedOnUser‛ ' Where Dependent like ‘%" & LogonId & "%’‚
            Set objLoggedOnUser = objService.ExecQuery(strQueryLU)
            For Each u in objLoggedOnUser
                        If instr(u.Dependent, LogonId) Then
                                     Wscript.Echo u.Antecedent
                                                                         ユーザーID
                                     Wscript.Echo u.Dependent
                                                                      ログオンID
                     End If
          Next
Loop

                                                                                                 21
一時的な監視例③‘ (③をブラッシュアップ)
 Set objLocator = CreateObject("WbemScripting.SWbemLocator")
 Set objService = objLocator.ConnectServer("demo2008", "ROOT¥CIMV2", "", "")

 Wscript.Echo "接続が完了しました"
 strQueryCreate = "Select * FROM __InstanceCreationEvent WITHIN 5 " & _
                         "WHERE TargetInstance ISA 'Win32_LogonSession' ‚
 Set objEventsCreation = objService.ExecNotificationQuery(strQueryCreate)
 Do
            Set CreationEvent = objEventsCreation.Nextevent
            LogonId= CreationEvent.TargetInstance.LogonID
            LogonType = CreationEvent.TargetInstance.LogonType
            Select Case LogonType
                        Case 0 strLogonType = "System"
                        Case 2 strLogonType = "Interactive"
                        Case 3 strLogonType = "Network"
                        Case 4 strLogonType = "Batch"
                        Case 5 strLogonType = "Service"
                        Case 6 strLogonType = "Proxy"
                        Case 7 strLogonType = "Unlock"
                        Case 8 strLogonType = "NetworkClearText"
                        Case 9 strLogonType = "NewCredentials"
                        Case 10 strLogonType = "RemoteInteractive(TS)"
                        Case 11 strLogonType = "CachedInteractive"
                        Case 12 strLogonType = "CachedRemoteInteractive"
                        Case 13 strLogonType = "CachedUnlock"
            End Select                                                         22
strQueryLoggedOnUser = "Select * " & _
                  "FROM Win32_LoggedOnUser"
       Set objLoggedOnUser = objService.ExecQuery(strQueryLoggedOnUser)

       For Each u in objLoggedOnUser
                   If instr(u.Dependent, LogonId) Then
                       arrAntecedent = Split(u.Antecedent,".")
                       Wscript.Echo Date & "," & Time & "," & _
                                      LogonId & "," & arrAntecedent(2) & "," & strLogonType
                                 Exit For
                   End If
       Next

Loop




                                                                                              23
一時的な監視例④
 __InstanceDeletionEventによるユーザーログオフの監視
 Set objLocator = CreateObject("WbemScripting.SWbemLocator")
 Set objService = objLocator.ConnectServer("demo2008", "ROOT¥CIMV2", "", "")

 Wscript.Echo "接続が完了しました"
 strQueryCreate = "Select * " & _
                        "FROM __InstanceDeletionEvent WITHIN 5 " & _
                        "WHERE TargetInstance ISA 'Win32_LogonSession' "

 Set objEventsDeletion = objService.ExecNotificationQuery(strQueryCreate)

 Do
            Set DeletionEvent = objEventsDeletion.Nextevent
            LogonId= DeletionEvent.TargetInstance.LogonID
            LogonType = DeletionEvent.TargetInstance.LogonType

            Wscript.Echo Date & "," & Time & "," & LogonId & "," & strLogonType

 Loop



                セッションの削除はログオフしてから1分程度を要する
                                                                                  24
③’と④を組み合わせると
  ログオンID をキーにしてログデータベースに書き込むことでサーバー
  を使用したユーザーの履歴を管理できる




                                       ログDB

 ServerName   LogonID   LogonType     LogonDateTime   LogoffDateTime   Domain   UserID

 demo2008     5443965   Interactive   2009/03/01      2009/03/01       dom      anno
                                      10:00:00        12:15:30
 demo2008     6220879   TS            2009/03/01      2009/03/01       dom      administrator
                                      12:00:00        13:10:01
                                                                                                25
スクリプトをサービス化




              26
゗ベントコンシューマ
イベントコンシューマとは….
 システムで発生したイベントをトリガーに特定のアクションを
 実行する機構
 • ActiveScriptEventConsumer
   – イベントが発生したらスクリプトを実行
 • LogFileEventConsumer
   – ゗ベントが発生したらテキストフゔ゗ルに書き込み
 • NTEventLogEventConsumer
   – ゗ベントが発生したら゗ベント
 • SMTPEventConsumer
   – ゗ベントが発生したらメール送信
 • CommandLineEventConsumer
   – ゗ベントが発生したらコマンドを実行

      システムに登録されるのでログオンする必要が無い
       ただし、監視できるのはローカルコンピュータ
                                27
MOFフゔ゗ルによる永続的監視
 ActiveScriptEventConsumerによるmofフゔ゗ルの例
  #pragma namespace("¥¥¥¥.¥¥root¥¥subscription")

  instance of ActiveScriptEventConsumer as $Cons
  {
      Name = "LogonUserLogging";
      ScriptingEngine = "VBScript";
      ScriptFileName = "c:¥¥tmp¥¥demoscript¥¥wmisample08.vbs";
  };

  instance of __EventFilter as $Filt
  {
      Name = "LogonUser";
      Query = "SELECT * FROM __InstanceCreationEvent WITHIN 5 "
            "WHERE TargetInstance ISA ¥"Win32_LogonSession¥" ";
      QueryLanguage = "WQL";
      EventNamespace = "root¥¥cimv2";
  };

  instance of __FilterToConsumerBinding
  {
      Filter = $Filt;
      Consumer = $Cons;                                           28
  };
拡張子 mof で保存




コマンドプロンプトからコンパ゗ル
C:¥>mofcomp.exe <mofフゔ゗ル名>
                             29
呼び出されるスクリプト(③‘’)
 Set objLocator = CreateObject("WbemScripting.SWbemLocator")
 Set objService = objLocator.ConnectServer("demo2008", "ROOT¥CIMV2", "", "")
 Set objFS = CreateObject("Scripting.FileSystemObject")

 Wscript.Echo "接続が完了しました"
 strQueryCreate = "Select * FROM __InstanceCreationEvent WITHIN 5 " & _
                         "WHERE TargetInstance ISA 'Win32_LogonSession' ‚
 Set objEventsCreation = objService.ExecNotificationQuery(strQueryCreate)
 Do
            Set CreationEvent = objEventsCreation.Nextevent
            LogonId= CreationEventTargetEvvent.TargetInstance.LogonID
            LogonType = CreationEventTargetEvent.TargetInstance.LogonType
            Select Case LogonType
                        Case 0 strLogonType = "System"
                        Case 2 strLogonType = "Interactive"
                        Case 3 strLogonType = "Network"
                        Case 4 strLogonType = "Batch"
                        Case 5 strLogonType = "Service"
                        Case 6 strLogonType = "Proxy"
                        Case 7 strLogonType = "Unlock"
                        Case 8 strLogonType = "NetworkClearText"
                        Case 9 strLogonType = "NewCredentials"
                        Case 10 strLogonType = "RemoteInteractive(TS)"
                        Case 11 strLogonType = "CachedInteractive"
                        Case 12 strLogonType = "CachedRemoteInteractive"
                        Case 13 strLogonType = "CachedUnlock"
            End Select                                                         30
strQueryLoggedOnUser = "Select * FROM Win32_LoggedOnUser"
       Set objLoggedOnUser = objService.ExecQuery(strQueryLoggedOnUser)

       For Each u in objLoggedOnUser
          If instr(u.Dependent, LogonId) Then
         arrAntecedent = Split(u.Antecedent,".")
         Set objLogFile = objFS.OpenTextFile("C:¥tmp¥demoscript¥userlog.txt",8,True)
         objLogFile.WriteLine Date & "," & Time & "," & LogonId & "," & _
                                arrAntecedent(2) & "," & strLogonType
         objLogFile.Close
         Wscript.Echo Date & "," & Time & "," & _
                          LogonId & "," & arrAntecedent(2) & "," & strLogonType
       Exit For
                     End If
       Next
Loop




                                                                                       31
まとめ

WMIはパターンを覚えれば簡単です

あたらしい使い方で作業が劇的に変化します!


          Yes, we can !




                          32
リソース
 MSDN - Windows Management Instrumentation
 http://msdn.microsoft.com/en-us/library/aa394582(VS.85).aspx

 Script Guy!
 http://www.microsoft.com/japan/technet/scriptcenter/resources/qand
 a/default.mspx




                                                                      33
34

More Related Content

What's hot

Zabbixのパフォーマンスチューニング & インストール時の注意点
Zabbixのパフォーマンスチューニング & インストール時の注意点Zabbixのパフォーマンスチューニング & インストール時の注意点
Zabbixのパフォーマンスチューニング & インストール時の注意点
Kodai Terashima
 
Intuneによるパッチ管理
Intuneによるパッチ管理Intuneによるパッチ管理
Intuneによるパッチ管理
Suguru Kunii
 
Zabbix監視運用業務の自動化事例
Zabbix監視運用業務の自動化事例Zabbix監視運用業務の自動化事例
Zabbix監視運用業務の自動化事例
OSSラボ株式会社
 
Hybrid Azure AD Join 動作の仕組みを徹底解説
Hybrid Azure AD Join 動作の仕組みを徹底解説Hybrid Azure AD Join 動作の仕組みを徹底解説
Hybrid Azure AD Join 動作の仕組みを徹底解説
Yusuke Kodama
 
AWS WAF のマネージドルールって結局どれを選べばいいの?
AWS WAF のマネージドルールって結局どれを選べばいいの?AWS WAF のマネージドルールって結局どれを選べばいいの?
AWS WAF のマネージドルールって結局どれを選べばいいの?
YOJI WATANABE
 
現場ではこう使った~Office 365 と Azure Functions、Azure Data Factory、Azure SQL Database,...
現場ではこう使った~Office 365 と Azure Functions、Azure Data Factory、Azure SQL Database,...現場ではこう使った~Office 365 と Azure Functions、Azure Data Factory、Azure SQL Database,...
現場ではこう使った~Office 365 と Azure Functions、Azure Data Factory、Azure SQL Database,...
Masayuki Ota
 
Black Belt Online Seminar AWS Amazon S3
Black Belt Online Seminar AWS Amazon S3Black Belt Online Seminar AWS Amazon S3
Black Belt Online Seminar AWS Amazon S3
Amazon Web Services Japan
 
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
ShuheiUda
 
MariaDBとMroongaで作る全言語対応超高速全文検索システム
MariaDBとMroongaで作る全言語対応超高速全文検索システムMariaDBとMroongaで作る全言語対応超高速全文検索システム
MariaDBとMroongaで作る全言語対応超高速全文検索システム
Kouhei Sutou
 
M04_失敗しないための Azure Virtual Desktop 設計ガイド
M04_失敗しないための Azure Virtual Desktop 設計ガイドM04_失敗しないための Azure Virtual Desktop 設計ガイド
M04_失敗しないための Azure Virtual Desktop 設計ガイド
日本マイクロソフト株式会社
 
[C33] 24時間365日「本当に」止まらないデータベースシステムの導入 ~AlwaysOn+Qシステムで完全無停止運用~ by Nobuyuki Sa...
[C33] 24時間365日「本当に」止まらないデータベースシステムの導入 ~AlwaysOn+Qシステムで完全無停止運用~ by Nobuyuki Sa...[C33] 24時間365日「本当に」止まらないデータベースシステムの導入 ~AlwaysOn+Qシステムで完全無停止運用~ by Nobuyuki Sa...
[C33] 24時間365日「本当に」止まらないデータベースシステムの導入 ~AlwaysOn+Qシステムで完全無停止運用~ by Nobuyuki Sa...Insight Technology, Inc.
 
Python で OAuth2 をつかってみよう!
Python で OAuth2 をつかってみよう!Python で OAuth2 をつかってみよう!
Python で OAuth2 をつかってみよう!
Project Samurai
 
サポート エンジニアが語る、Microsoft Azure を支えるインフラの秘密
サポート エンジニアが語る、Microsoft Azure を支えるインフラの秘密サポート エンジニアが語る、Microsoft Azure を支えるインフラの秘密
サポート エンジニアが語る、Microsoft Azure を支えるインフラの秘密
ShuheiUda
 
Re: ゼロから始める監視設計
Re: ゼロから始める監視設計Re: ゼロから始める監視設計
Re: ゼロから始める監視設計
Masahito Zembutsu
 
Windows × ネットワーク! 更新プログラムの展開に使える ネットワークの最適化機能をマスターしよう
Windows × ネットワーク!  更新プログラムの展開に使える ネットワークの最適化機能をマスターしようWindows × ネットワーク!  更新プログラムの展開に使える ネットワークの最適化機能をマスターしよう
Windows × ネットワーク! 更新プログラムの展開に使える ネットワークの最適化機能をマスターしよう
TAKUYA OHTA
 
今こそ知りたい!Microsoft Azureの基礎
今こそ知りたい!Microsoft Azureの基礎今こそ知りたい!Microsoft Azureの基礎
今こそ知りたい!Microsoft Azureの基礎
Trainocate Japan, Ltd.
 
AWS Black Belt Online Seminar AWS上のJenkins活用方法
AWS Black Belt Online Seminar AWS上のJenkins活用方法AWS Black Belt Online Seminar AWS上のJenkins活用方法
AWS Black Belt Online Seminar AWS上のJenkins活用方法
Amazon Web Services Japan
 
IT エンジニアのための 流し読み Microsoft 365 - 入門!Microsoft Defender for Endpoint クロスプラットフ...
IT エンジニアのための 流し読み Microsoft 365 - 入門!Microsoft Defender for Endpoint クロスプラットフ...IT エンジニアのための 流し読み Microsoft 365 - 入門!Microsoft Defender for Endpoint クロスプラットフ...
IT エンジニアのための 流し読み Microsoft 365 - 入門!Microsoft Defender for Endpoint クロスプラットフ...
TAKUYA OHTA
 
20190911 AWS Black Belt Online Seminar AWS Batch
20190911 AWS Black Belt Online Seminar AWS Batch20190911 AWS Black Belt Online Seminar AWS Batch
20190911 AWS Black Belt Online Seminar AWS Batch
Amazon Web Services Japan
 
[SC04] あなたのサービスを "ID" で守る! Azure Active Directory の条件付きアクセスの基礎と実装
[SC04] あなたのサービスを "ID" で守る! Azure Active Directory の条件付きアクセスの基礎と実装[SC04] あなたのサービスを "ID" で守る! Azure Active Directory の条件付きアクセスの基礎と実装
[SC04] あなたのサービスを "ID" で守る! Azure Active Directory の条件付きアクセスの基礎と実装
de:code 2017
 

What's hot (20)

Zabbixのパフォーマンスチューニング & インストール時の注意点
Zabbixのパフォーマンスチューニング & インストール時の注意点Zabbixのパフォーマンスチューニング & インストール時の注意点
Zabbixのパフォーマンスチューニング & インストール時の注意点
 
Intuneによるパッチ管理
Intuneによるパッチ管理Intuneによるパッチ管理
Intuneによるパッチ管理
 
Zabbix監視運用業務の自動化事例
Zabbix監視運用業務の自動化事例Zabbix監視運用業務の自動化事例
Zabbix監視運用業務の自動化事例
 
Hybrid Azure AD Join 動作の仕組みを徹底解説
Hybrid Azure AD Join 動作の仕組みを徹底解説Hybrid Azure AD Join 動作の仕組みを徹底解説
Hybrid Azure AD Join 動作の仕組みを徹底解説
 
AWS WAF のマネージドルールって結局どれを選べばいいの?
AWS WAF のマネージドルールって結局どれを選べばいいの?AWS WAF のマネージドルールって結局どれを選べばいいの?
AWS WAF のマネージドルールって結局どれを選べばいいの?
 
現場ではこう使った~Office 365 と Azure Functions、Azure Data Factory、Azure SQL Database,...
現場ではこう使った~Office 365 と Azure Functions、Azure Data Factory、Azure SQL Database,...現場ではこう使った~Office 365 と Azure Functions、Azure Data Factory、Azure SQL Database,...
現場ではこう使った~Office 365 と Azure Functions、Azure Data Factory、Azure SQL Database,...
 
Black Belt Online Seminar AWS Amazon S3
Black Belt Online Seminar AWS Amazon S3Black Belt Online Seminar AWS Amazon S3
Black Belt Online Seminar AWS Amazon S3
 
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
 
MariaDBとMroongaで作る全言語対応超高速全文検索システム
MariaDBとMroongaで作る全言語対応超高速全文検索システムMariaDBとMroongaで作る全言語対応超高速全文検索システム
MariaDBとMroongaで作る全言語対応超高速全文検索システム
 
M04_失敗しないための Azure Virtual Desktop 設計ガイド
M04_失敗しないための Azure Virtual Desktop 設計ガイドM04_失敗しないための Azure Virtual Desktop 設計ガイド
M04_失敗しないための Azure Virtual Desktop 設計ガイド
 
[C33] 24時間365日「本当に」止まらないデータベースシステムの導入 ~AlwaysOn+Qシステムで完全無停止運用~ by Nobuyuki Sa...
[C33] 24時間365日「本当に」止まらないデータベースシステムの導入 ~AlwaysOn+Qシステムで完全無停止運用~ by Nobuyuki Sa...[C33] 24時間365日「本当に」止まらないデータベースシステムの導入 ~AlwaysOn+Qシステムで完全無停止運用~ by Nobuyuki Sa...
[C33] 24時間365日「本当に」止まらないデータベースシステムの導入 ~AlwaysOn+Qシステムで完全無停止運用~ by Nobuyuki Sa...
 
Python で OAuth2 をつかってみよう!
Python で OAuth2 をつかってみよう!Python で OAuth2 をつかってみよう!
Python で OAuth2 をつかってみよう!
 
サポート エンジニアが語る、Microsoft Azure を支えるインフラの秘密
サポート エンジニアが語る、Microsoft Azure を支えるインフラの秘密サポート エンジニアが語る、Microsoft Azure を支えるインフラの秘密
サポート エンジニアが語る、Microsoft Azure を支えるインフラの秘密
 
Re: ゼロから始める監視設計
Re: ゼロから始める監視設計Re: ゼロから始める監視設計
Re: ゼロから始める監視設計
 
Windows × ネットワーク! 更新プログラムの展開に使える ネットワークの最適化機能をマスターしよう
Windows × ネットワーク!  更新プログラムの展開に使える ネットワークの最適化機能をマスターしようWindows × ネットワーク!  更新プログラムの展開に使える ネットワークの最適化機能をマスターしよう
Windows × ネットワーク! 更新プログラムの展開に使える ネットワークの最適化機能をマスターしよう
 
今こそ知りたい!Microsoft Azureの基礎
今こそ知りたい!Microsoft Azureの基礎今こそ知りたい!Microsoft Azureの基礎
今こそ知りたい!Microsoft Azureの基礎
 
AWS Black Belt Online Seminar AWS上のJenkins活用方法
AWS Black Belt Online Seminar AWS上のJenkins活用方法AWS Black Belt Online Seminar AWS上のJenkins活用方法
AWS Black Belt Online Seminar AWS上のJenkins活用方法
 
IT エンジニアのための 流し読み Microsoft 365 - 入門!Microsoft Defender for Endpoint クロスプラットフ...
IT エンジニアのための 流し読み Microsoft 365 - 入門!Microsoft Defender for Endpoint クロスプラットフ...IT エンジニアのための 流し読み Microsoft 365 - 入門!Microsoft Defender for Endpoint クロスプラットフ...
IT エンジニアのための 流し読み Microsoft 365 - 入門!Microsoft Defender for Endpoint クロスプラットフ...
 
20190911 AWS Black Belt Online Seminar AWS Batch
20190911 AWS Black Belt Online Seminar AWS Batch20190911 AWS Black Belt Online Seminar AWS Batch
20190911 AWS Black Belt Online Seminar AWS Batch
 
[SC04] あなたのサービスを "ID" で守る! Azure Active Directory の条件付きアクセスの基礎と実装
[SC04] あなたのサービスを "ID" で守る! Azure Active Directory の条件付きアクセスの基礎と実装[SC04] あなたのサービスを "ID" で守る! Azure Active Directory の条件付きアクセスの基礎と実装
[SC04] あなたのサービスを "ID" で守る! Azure Active Directory の条件付きアクセスの基礎と実装
 

Viewers also liked

Windows スクリプトセミナー 基本編
Windows スクリプトセミナー 基本編Windows スクリプトセミナー 基本編
Windows スクリプトセミナー 基本編
junichi anno
 
Power shell の基本操作と処理の自動化 v2_20120514
Power shell の基本操作と処理の自動化 v2_20120514Power shell の基本操作と処理の自動化 v2_20120514
Power shell の基本操作と処理の自動化 v2_20120514junichi anno
 
SANS @Night There's Gold in Them Thar Package Management Databases
SANS @Night There's Gold in Them Thar Package Management DatabasesSANS @Night There's Gold in Them Thar Package Management Databases
SANS @Night There's Gold in Them Thar Package Management DatabasesPhil Hagen
 
WMI - A FRONT DOOR FOR MALWARES
WMI - A FRONT DOOR FOR MALWARESWMI - A FRONT DOOR FOR MALWARES
WMI - A FRONT DOOR FOR MALWARES
Santhosh Kumar
 
Windows PowerShell によるWindows Server 管理の自動化 v4.0 2014.03.13 更新版
Windows PowerShell によるWindows Server 管理の自動化 v4.0 2014.03.13 更新版Windows PowerShell によるWindows Server 管理の自動化 v4.0 2014.03.13 更新版
Windows PowerShell によるWindows Server 管理の自動化 v4.0 2014.03.13 更新版
junichi anno
 
Luncheon 2016-07-16 - Topic 2 - Advanced Threat Hunting by Justin Falck
Luncheon 2016-07-16 -  Topic 2 - Advanced Threat Hunting by Justin FalckLuncheon 2016-07-16 -  Topic 2 - Advanced Threat Hunting by Justin Falck
Luncheon 2016-07-16 - Topic 2 - Advanced Threat Hunting by Justin Falck
North Texas Chapter of the ISSA
 
PowerShellが苦手だった男がPowerShellを愛するようになるまで
PowerShellが苦手だった男がPowerShellを愛するようになるまでPowerShellが苦手だった男がPowerShellを愛するようになるまで
PowerShellが苦手だった男がPowerShellを愛するようになるまで
Kazuhiro Matsushima
 
AWS Simple Monthly Calculator 操作説明書
AWS Simple Monthly Calculator 操作説明書AWS Simple Monthly Calculator 操作説明書
AWS Simple Monthly Calculator 操作説明書Amazon Web Services Japan
 
SOC2016 - The Investigation Labyrinth
SOC2016 - The Investigation LabyrinthSOC2016 - The Investigation Labyrinth
SOC2016 - The Investigation Labyrinth
chrissanders88
 
WebサービスStartUP向け AWSスケーラブルな構成例
WebサービスStartUP向け AWSスケーラブルな構成例WebサービスStartUP向け AWSスケーラブルな構成例
WebサービスStartUP向け AWSスケーラブルな構成例Amazon Web Services Japan
 
Logs, Logs, Every Where, Nor Any Byte to Grok
Logs, Logs, Every Where, Nor Any Byte to GrokLogs, Logs, Every Where, Nor Any Byte to Grok
Logs, Logs, Every Where, Nor Any Byte to Grok
Phil Hagen
 
Abstract Tools for Effective Threat Hunting
Abstract Tools for Effective Threat HuntingAbstract Tools for Effective Threat Hunting
Abstract Tools for Effective Threat Hunting
chrissanders88
 
Guided Reading: Making the Most of It
Guided Reading: Making the Most of ItGuided Reading: Making the Most of It
Guided Reading: Making the Most of It
Jennifer Jones
 

Viewers also liked (14)

Windows スクリプトセミナー 基本編
Windows スクリプトセミナー 基本編Windows スクリプトセミナー 基本編
Windows スクリプトセミナー 基本編
 
Power shell の基本操作と処理の自動化 v2_20120514
Power shell の基本操作と処理の自動化 v2_20120514Power shell の基本操作と処理の自動化 v2_20120514
Power shell の基本操作と処理の自動化 v2_20120514
 
SANS @Night There's Gold in Them Thar Package Management Databases
SANS @Night There's Gold in Them Thar Package Management DatabasesSANS @Night There's Gold in Them Thar Package Management Databases
SANS @Night There's Gold in Them Thar Package Management Databases
 
WMI - A FRONT DOOR FOR MALWARES
WMI - A FRONT DOOR FOR MALWARESWMI - A FRONT DOOR FOR MALWARES
WMI - A FRONT DOOR FOR MALWARES
 
Windows PowerShell によるWindows Server 管理の自動化 v4.0 2014.03.13 更新版
Windows PowerShell によるWindows Server 管理の自動化 v4.0 2014.03.13 更新版Windows PowerShell によるWindows Server 管理の自動化 v4.0 2014.03.13 更新版
Windows PowerShell によるWindows Server 管理の自動化 v4.0 2014.03.13 更新版
 
Luncheon 2016-07-16 - Topic 2 - Advanced Threat Hunting by Justin Falck
Luncheon 2016-07-16 -  Topic 2 - Advanced Threat Hunting by Justin FalckLuncheon 2016-07-16 -  Topic 2 - Advanced Threat Hunting by Justin Falck
Luncheon 2016-07-16 - Topic 2 - Advanced Threat Hunting by Justin Falck
 
PowerShellが苦手だった男がPowerShellを愛するようになるまで
PowerShellが苦手だった男がPowerShellを愛するようになるまでPowerShellが苦手だった男がPowerShellを愛するようになるまで
PowerShellが苦手だった男がPowerShellを愛するようになるまで
 
AWS Simple Monthly Calculator 操作説明書
AWS Simple Monthly Calculator 操作説明書AWS Simple Monthly Calculator 操作説明書
AWS Simple Monthly Calculator 操作説明書
 
SOC2016 - The Investigation Labyrinth
SOC2016 - The Investigation LabyrinthSOC2016 - The Investigation Labyrinth
SOC2016 - The Investigation Labyrinth
 
WebサービスStartUP向け AWSスケーラブルな構成例
WebサービスStartUP向け AWSスケーラブルな構成例WebサービスStartUP向け AWSスケーラブルな構成例
WebサービスStartUP向け AWSスケーラブルな構成例
 
Logs, Logs, Every Where, Nor Any Byte to Grok
Logs, Logs, Every Where, Nor Any Byte to GrokLogs, Logs, Every Where, Nor Any Byte to Grok
Logs, Logs, Every Where, Nor Any Byte to Grok
 
Abstract Tools for Effective Threat Hunting
Abstract Tools for Effective Threat HuntingAbstract Tools for Effective Threat Hunting
Abstract Tools for Effective Threat Hunting
 
Computer forensics ppt
Computer forensics pptComputer forensics ppt
Computer forensics ppt
 
Guided Reading: Making the Most of It
Guided Reading: Making the Most of ItGuided Reading: Making the Most of It
Guided Reading: Making the Most of It
 

Similar to Windows スクリプトセミナー WMI編 VBScript&WMI

実践 NestJS
実践 NestJS実践 NestJS
実践 NestJS
Ayumi Goto
 
WF4 + WMI + PS + αで運用管理
WF4 + WMI + PS + αで運用管理WF4 + WMI + PS + αで運用管理
WF4 + WMI + PS + αで運用管理
Tomoyuki Obi
 
Lt 110205
Lt 110205Lt 110205
Lt 110205
Tomoyuki Obi
 
リアルFacebookガジェットを作った(ロングバージョン)
リアルFacebookガジェットを作った(ロングバージョン)リアルFacebookガジェットを作った(ロングバージョン)
リアルFacebookガジェットを作った(ロングバージョン)
Mariko Goda
 
How to Make Own Framework built on OWIN
How to Make Own Framework built on OWINHow to Make Own Framework built on OWIN
How to Make Own Framework built on OWIN
Yoshifumi Kawai
 
Interact 2018:PowerShell of Microsoft SDN v2 101
Interact 2018:PowerShell of Microsoft SDN v2 101Interact 2018:PowerShell of Microsoft SDN v2 101
Interact 2018:PowerShell of Microsoft SDN v2 101
wind06106
 
Hbstudy41 auto scaling
Hbstudy41 auto scalingHbstudy41 auto scaling
Hbstudy41 auto scaling
Fujishiro Takuya
 
Ogre3d 基礎
Ogre3d 基礎Ogre3d 基礎
Ogre3d 基礎
kw
 
Ajax basic
Ajax basicAjax basic
Ajax basic
Katsuyuki Seino
 
Aws tools for power shellをつかいこなそう
Aws tools for power shellをつかいこなそうAws tools for power shellをつかいこなそう
Aws tools for power shellをつかいこなそうGenta Watanabe
 
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
normalian
 
AWS Lambda Updates
AWS Lambda UpdatesAWS Lambda Updates
AWS Lambda Updates
Keisuke Nishitani
 
Csec52 45 Ruo Ando
Csec52 45 Ruo AndoCsec52 45 Ruo Ando
Csec52 45 Ruo Ando
Ruo Ando
 
Node.jsでブラウザメッセンジャー
Node.jsでブラウザメッセンジャーNode.jsでブラウザメッセンジャー
Node.jsでブラウザメッセンジャー
Yahoo!デベロッパーネットワーク
 
エンタープライズIT環境での OpenID Connect / SCIM の具体的実装方法 idit2014
エンタープライズIT環境での OpenID Connect / SCIM の具体的実装方法 idit2014エンタープライズIT環境での OpenID Connect / SCIM の具体的実装方法 idit2014
エンタープライズIT環境での OpenID Connect / SCIM の具体的実装方法 idit2014
Takashi Yahata
 
Pro aspnetmvc3framework chap19
Pro aspnetmvc3framework chap19Pro aspnetmvc3framework chap19
Pro aspnetmvc3framework chap19Hideki Hashizume
 
ボット開発でも DevOps! BotBuilder のテスト手法
ボット開発でも DevOps! BotBuilder のテスト手法ボット開発でも DevOps! BotBuilder のテスト手法
ボット開発でも DevOps! BotBuilder のテスト手法
Kenichiro Nakamura
 
Try_to_writecode_practicaltest #atest_hack
Try_to_writecode_practicaltest #atest_hackTry_to_writecode_practicaltest #atest_hack
Try_to_writecode_practicaltest #atest_hack
kimukou_26 Kimukou
 

Similar to Windows スクリプトセミナー WMI編 VBScript&WMI (20)

実践 NestJS
実践 NestJS実践 NestJS
実践 NestJS
 
WF4 + WMI + PS + αで運用管理
WF4 + WMI + PS + αで運用管理WF4 + WMI + PS + αで運用管理
WF4 + WMI + PS + αで運用管理
 
Lt 110205
Lt 110205Lt 110205
Lt 110205
 
リアルFacebookガジェットを作った(ロングバージョン)
リアルFacebookガジェットを作った(ロングバージョン)リアルFacebookガジェットを作った(ロングバージョン)
リアルFacebookガジェットを作った(ロングバージョン)
 
How to Make Own Framework built on OWIN
How to Make Own Framework built on OWINHow to Make Own Framework built on OWIN
How to Make Own Framework built on OWIN
 
Interact 2018:PowerShell of Microsoft SDN v2 101
Interact 2018:PowerShell of Microsoft SDN v2 101Interact 2018:PowerShell of Microsoft SDN v2 101
Interact 2018:PowerShell of Microsoft SDN v2 101
 
Hbstudy41 auto scaling
Hbstudy41 auto scalingHbstudy41 auto scaling
Hbstudy41 auto scaling
 
Ogre3d 基礎
Ogre3d 基礎Ogre3d 基礎
Ogre3d 基礎
 
Ajax basic
Ajax basicAjax basic
Ajax basic
 
Aws tools for power shellをつかいこなそう
Aws tools for power shellをつかいこなそうAws tools for power shellをつかいこなそう
Aws tools for power shellをつかいこなそう
 
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
 
Cve 2013-0422
Cve 2013-0422Cve 2013-0422
Cve 2013-0422
 
AWS Lambda Updates
AWS Lambda UpdatesAWS Lambda Updates
AWS Lambda Updates
 
Ajax 応用
Ajax 応用Ajax 応用
Ajax 応用
 
Csec52 45 Ruo Ando
Csec52 45 Ruo AndoCsec52 45 Ruo Ando
Csec52 45 Ruo Ando
 
Node.jsでブラウザメッセンジャー
Node.jsでブラウザメッセンジャーNode.jsでブラウザメッセンジャー
Node.jsでブラウザメッセンジャー
 
エンタープライズIT環境での OpenID Connect / SCIM の具体的実装方法 idit2014
エンタープライズIT環境での OpenID Connect / SCIM の具体的実装方法 idit2014エンタープライズIT環境での OpenID Connect / SCIM の具体的実装方法 idit2014
エンタープライズIT環境での OpenID Connect / SCIM の具体的実装方法 idit2014
 
Pro aspnetmvc3framework chap19
Pro aspnetmvc3framework chap19Pro aspnetmvc3framework chap19
Pro aspnetmvc3framework chap19
 
ボット開発でも DevOps! BotBuilder のテスト手法
ボット開発でも DevOps! BotBuilder のテスト手法ボット開発でも DevOps! BotBuilder のテスト手法
ボット開発でも DevOps! BotBuilder のテスト手法
 
Try_to_writecode_practicaltest #atest_hack
Try_to_writecode_practicaltest #atest_hackTry_to_writecode_practicaltest #atest_hack
Try_to_writecode_practicaltest #atest_hack
 

More from junichi anno

V1.1 CD03 Azure Active Directory B2C/B2B コラボレーションによる Customer Identity and Ac...
V1.1 CD03 Azure Active Directory B2C/B2B コラボレーションによる Customer Identity and Ac...V1.1 CD03 Azure Active Directory B2C/B2B コラボレーションによる Customer Identity and Ac...
V1.1 CD03 Azure Active Directory B2C/B2B コラボレーションによる Customer Identity and Ac...
junichi anno
 
Azure AD によるリソースの保護 how to protect and govern resources under the Azure AD
Azure AD によるリソースの保護 how to protect and govern resources under the Azure ADAzure AD によるリソースの保護 how to protect and govern resources under the Azure AD
Azure AD によるリソースの保護 how to protect and govern resources under the Azure AD
junichi anno
 
Azure AD による Web API の 保護
Azure AD による Web API の 保護 Azure AD による Web API の 保護
Azure AD による Web API の 保護
junichi anno
 
Azure ad の導入を検討している方へ ~ active directory の構成パターンと正しい認証方式の選択~
Azure ad の導入を検討している方へ ~ active directory の構成パターンと正しい認証方式の選択~Azure ad の導入を検討している方へ ~ active directory の構成パターンと正しい認証方式の選択~
Azure ad の導入を検討している方へ ~ active directory の構成パターンと正しい認証方式の選択~
junichi anno
 
Azure Key Vault
Azure Key VaultAzure Key Vault
Azure Key Vault
junichi anno
 
個人情報を守るための アプリケーション設計(概要)
個人情報を守るためのアプリケーション設計(概要)個人情報を守るためのアプリケーション設計(概要)
個人情報を守るための アプリケーション設計(概要)
junichi anno
 
IoT のセキュリティアーキテクチャと実装モデル on Azure
IoT のセキュリティアーキテクチャと実装モデル on AzureIoT のセキュリティアーキテクチャと実装モデル on Azure
IoT のセキュリティアーキテクチャと実装モデル on Azure
junichi anno
 
DevSecOps: セキュリティ問題に迅速に対応するためのパイプライン設計
DevSecOps: セキュリティ問題に迅速に対応するためのパイプライン設計DevSecOps: セキュリティ問題に迅速に対応するためのパイプライン設計
DevSecOps: セキュリティ問題に迅速に対応するためのパイプライン設計
junichi anno
 
Azureの管理権限について
Azureの管理権限について Azureの管理権限について
Azureの管理権限について
junichi anno
 
Azure Active Directory 1枚資料 20151125版
Azure Active Directory 1枚資料 20151125版Azure Active Directory 1枚資料 20151125版
Azure Active Directory 1枚資料 20151125版
junichi anno
 
リソーステンプレート入門
リソーステンプレート入門リソーステンプレート入門
リソーステンプレート入門
junichi anno
 
File Server on Azure IaaS
File Server on Azure IaaSFile Server on Azure IaaS
File Server on Azure IaaSjunichi anno
 
Windows File Service 総復習-Windows Server 2012 R2編 第1版
Windows File Service 総復習-Windows Server 2012 R2編 第1版Windows File Service 総復習-Windows Server 2012 R2編 第1版
Windows File Service 総復習-Windows Server 2012 R2編 第1版
junichi anno
 
Active Directory のクラウド武装化計画 V2~"AD on Azure IaaS" or "Windows Azure Active Di...
Active Directory のクラウド武装化計画 V2~"AD on Azure IaaS" or "Windows Azure Active Di...Active Directory のクラウド武装化計画 V2~"AD on Azure IaaS" or "Windows Azure Active Di...
Active Directory のクラウド武装化計画 V2~"AD on Azure IaaS" or "Windows Azure Active Di...
junichi anno
 
勉強会キット Windows Server 2012 R2 評価版 BYOD 編 v2 20131020 版
勉強会キット Windows Server 2012 R2 評価版 BYOD 編 v2 20131020 版勉強会キット Windows Server 2012 R2 評価版 BYOD 編 v2 20131020 版
勉強会キット Windows Server 2012 R2 評価版 BYOD 編 v2 20131020 版
junichi anno
 
Hyper-V を Windows PowerShell から管理する
Hyper-V を Windows PowerShell から管理するHyper-V を Windows PowerShell から管理する
Hyper-V を Windows PowerShell から管理する
junichi anno
 
Vdi を より使いやすいインフラにするためのセキュリティ設計
Vdi を より使いやすいインフラにするためのセキュリティ設計Vdi を より使いやすいインフラにするためのセキュリティ設計
Vdi を より使いやすいインフラにするためのセキュリティ設計junichi anno
 
最新Active DirectoryによるIDMaaSとハイブリッド認証基盤の実現
最新Active DirectoryによるIDMaaSとハイブリッド認証基盤の実現最新Active DirectoryによるIDMaaSとハイブリッド認証基盤の実現
最新Active DirectoryによるIDMaaSとハイブリッド認証基盤の実現
junichi anno
 
SaaS としての IDM の役割
SaaS としての IDM の役割SaaS としての IDM の役割
SaaS としての IDM の役割junichi anno
 
クラウドにおける Windows Azure Active Directory の役割
クラウドにおける Windows Azure Active Directory の役割クラウドにおける Windows Azure Active Directory の役割
クラウドにおける Windows Azure Active Directory の役割junichi anno
 

More from junichi anno (20)

V1.1 CD03 Azure Active Directory B2C/B2B コラボレーションによる Customer Identity and Ac...
V1.1 CD03 Azure Active Directory B2C/B2B コラボレーションによる Customer Identity and Ac...V1.1 CD03 Azure Active Directory B2C/B2B コラボレーションによる Customer Identity and Ac...
V1.1 CD03 Azure Active Directory B2C/B2B コラボレーションによる Customer Identity and Ac...
 
Azure AD によるリソースの保護 how to protect and govern resources under the Azure AD
Azure AD によるリソースの保護 how to protect and govern resources under the Azure ADAzure AD によるリソースの保護 how to protect and govern resources under the Azure AD
Azure AD によるリソースの保護 how to protect and govern resources under the Azure AD
 
Azure AD による Web API の 保護
Azure AD による Web API の 保護 Azure AD による Web API の 保護
Azure AD による Web API の 保護
 
Azure ad の導入を検討している方へ ~ active directory の構成パターンと正しい認証方式の選択~
Azure ad の導入を検討している方へ ~ active directory の構成パターンと正しい認証方式の選択~Azure ad の導入を検討している方へ ~ active directory の構成パターンと正しい認証方式の選択~
Azure ad の導入を検討している方へ ~ active directory の構成パターンと正しい認証方式の選択~
 
Azure Key Vault
Azure Key VaultAzure Key Vault
Azure Key Vault
 
個人情報を守るための アプリケーション設計(概要)
個人情報を守るためのアプリケーション設計(概要)個人情報を守るためのアプリケーション設計(概要)
個人情報を守るための アプリケーション設計(概要)
 
IoT のセキュリティアーキテクチャと実装モデル on Azure
IoT のセキュリティアーキテクチャと実装モデル on AzureIoT のセキュリティアーキテクチャと実装モデル on Azure
IoT のセキュリティアーキテクチャと実装モデル on Azure
 
DevSecOps: セキュリティ問題に迅速に対応するためのパイプライン設計
DevSecOps: セキュリティ問題に迅速に対応するためのパイプライン設計DevSecOps: セキュリティ問題に迅速に対応するためのパイプライン設計
DevSecOps: セキュリティ問題に迅速に対応するためのパイプライン設計
 
Azureの管理権限について
Azureの管理権限について Azureの管理権限について
Azureの管理権限について
 
Azure Active Directory 1枚資料 20151125版
Azure Active Directory 1枚資料 20151125版Azure Active Directory 1枚資料 20151125版
Azure Active Directory 1枚資料 20151125版
 
リソーステンプレート入門
リソーステンプレート入門リソーステンプレート入門
リソーステンプレート入門
 
File Server on Azure IaaS
File Server on Azure IaaSFile Server on Azure IaaS
File Server on Azure IaaS
 
Windows File Service 総復習-Windows Server 2012 R2編 第1版
Windows File Service 総復習-Windows Server 2012 R2編 第1版Windows File Service 総復習-Windows Server 2012 R2編 第1版
Windows File Service 総復習-Windows Server 2012 R2編 第1版
 
Active Directory のクラウド武装化計画 V2~"AD on Azure IaaS" or "Windows Azure Active Di...
Active Directory のクラウド武装化計画 V2~"AD on Azure IaaS" or "Windows Azure Active Di...Active Directory のクラウド武装化計画 V2~"AD on Azure IaaS" or "Windows Azure Active Di...
Active Directory のクラウド武装化計画 V2~"AD on Azure IaaS" or "Windows Azure Active Di...
 
勉強会キット Windows Server 2012 R2 評価版 BYOD 編 v2 20131020 版
勉強会キット Windows Server 2012 R2 評価版 BYOD 編 v2 20131020 版勉強会キット Windows Server 2012 R2 評価版 BYOD 編 v2 20131020 版
勉強会キット Windows Server 2012 R2 評価版 BYOD 編 v2 20131020 版
 
Hyper-V を Windows PowerShell から管理する
Hyper-V を Windows PowerShell から管理するHyper-V を Windows PowerShell から管理する
Hyper-V を Windows PowerShell から管理する
 
Vdi を より使いやすいインフラにするためのセキュリティ設計
Vdi を より使いやすいインフラにするためのセキュリティ設計Vdi を より使いやすいインフラにするためのセキュリティ設計
Vdi を より使いやすいインフラにするためのセキュリティ設計
 
最新Active DirectoryによるIDMaaSとハイブリッド認証基盤の実現
最新Active DirectoryによるIDMaaSとハイブリッド認証基盤の実現最新Active DirectoryによるIDMaaSとハイブリッド認証基盤の実現
最新Active DirectoryによるIDMaaSとハイブリッド認証基盤の実現
 
SaaS としての IDM の役割
SaaS としての IDM の役割SaaS としての IDM の役割
SaaS としての IDM の役割
 
クラウドにおける Windows Azure Active Directory の役割
クラウドにおける Windows Azure Active Directory の役割クラウドにおける Windows Azure Active Directory の役割
クラウドにおける Windows Azure Active Directory の役割
 

Recently uploaded

【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
harmonylab
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
Toru Tamaki
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
Matsushita Laboratory
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
Yuuitirou528 default
 
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさJSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
0207sukipio
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
Fukuoka Institute of Technology
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance
 
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
Matsushita Laboratory
 
This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
chiefujita1
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 

Recently uploaded (14)

【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
 
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさJSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
 
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
 
This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 

Windows スクリプトセミナー WMI編 VBScript&WMI

  • 1. 第2部 応用編① WMI による Windows Server の 監視 マ゗クロソフト株式会社 エバンジェリスト 安納 順一 http://blogs.technet.com/junichia/ 1
  • 2. 本日の目的 WMIを使用して Windows Server を監視する方法を学びます ※今回は VBScript を使用します WMIとは何か? WMIを使用したスクリプト作成の基礎 WMIを使用した゗ベントの待ち合わせ WMIを使用した永続的監視の実装 スクリプトの奥深さに感動していただけるはずです 2
  • 3. WMI とは Windows Management Instrumentation WBEM/CIMに準拠 各種管理情報への共通゗ンターフェース Windows Management Serviceとして実装 Windows 2000以上のOSに標準搭載 WMIプロバ゗ダはベンダーが拡張可能 別途エージェントは一切必要なし もちろんタダ! 3
  • 4. 4
  • 5. WMI にゕクセスするには バッチフゔ゗ルから WMICコマンド(Windows XP以降) Windows Script Host から PowerShell から Visual Studio から GUIツールから WMI Admin Tools など 5
  • 6. WMIのゕーキテクチャ 管理ゕプリケーション COM/DCOM CIM Repository CIM Object Manager Object Provider COM/DCOM Object ・・・・・・・ 6
  • 7. WMIの構造 %WinDir%¥System32¥wbem 配下の mof (Managed Object Format) フゔ゗ルに定義されている Namespace によって使える Namespace Class が異なることに注意 規定のNamespaceは Class Root¥CIMV2 (例) ROOT¥COMV2 Win32_OperatingSystem Win32_NTLogEventLog ・ ・ ROOT¥Default STDREGPROV ROOT¥microsoft¥SqlServer¥ComputerManagement10 SqlService ・ 7 ・
  • 8. WMIの主役 Win32_クラス 一部抜粋 Win32_ActiveRoute Win32_ModuleTrace Win32_ComputerShutdownEvent Win32_NamedJobObject Win32_ComputerSystemEvent Win32_NTDomain Win32_ConnectionShare Win32_PingStatus Win32_CurrentTime Win32_ProcessStartTrace Win32_DeviceChangeEvent Win32_ProcessStopTrace Win32_DiskQuota Win32_Proxy Win32_GroupInDomain Win32_QuotaSetting Win32_IP4PersistedRouteTable Win32_ServerConnection Win32_IP4RouteTable Win32_SessionConnection Win32_IP4RouteTableEvent Win32_TokenGroups Win32_JobObjectStatus Win32_TokenPrivileges Win32_LoggedOnUser Win32_VolumeChangeEvent Win32_LogonSession Win32_WindowsProductActivation Win32_LogonSessionMappedDisk Win32_ControllerHasHub Win32_NetworkAdapter ・ Win32_ComputerSystem ・ ・ ・ ・ 8
  • 9. WMI Tools ~ CIM Studio ブラウザを使用して、WMIの構造、実際の゗ンスタンスを確認 クエリを発行して戻り値を確認 リモートコンピュータに接続も可能 9
  • 11. WMI Scriptingの基本形 'SWbemLocator オブジェクトの作成 Set Locator = CreateObject("WbemScripting.SWbemLocator") ‘ローカルコンピュータへの接続 Set Service = Locator.ConnectServer("", "root¥cimv2", "", "") ‘クエリーの定義(WQL:WMI Query Language) strQuery = "Select * from Win32_NetworkAdapterConfiguration " & _ "where IPEnabled = True" ‘クエリーの実行(インスタンスを取得する) Set objNet = Service.ExecQuery(strQuery) '結果の参照 For each n in objNet WScript.Echo n.caption WScript.Echo n.MACAddress Next 11
  • 12. WMIスクリプトの実行権限 リモートコンピュータに対するゕクセス権の取得 Set Service = Locator.ConnectServer(RemoteHost,Namespace,User,Password) 特殊権限の取得 Set Locator = CreateObject("WbemScripting.SWbemLocator") Set Service = Locator.ConnectServer("DC01", "root¥cimv2", "Dom¥administrator", "pass") Service.Security_.Privileges.AddAsString "SeBackupPrivilege", True Service.Security_.Privileges.AddAsString "SeSecurityPrivilege", True strQuery = "Select * from Win32_NTEventlogFile" & _ " Where LogfileName = 'Security' " Set obj = Service.ExecQuery(strQuery) For each n in obj r = n.BackupEventLog("C:¥tmp¥Security.evt") Next 12
  • 16. ゗ベントの監視 システムで発生した゗ベントをトリガーとして処理を実行 一時監視と永続的監視 以下の゗ベント監視用クラスが用意されている __InstanceCreationEvent あたらしい゗ンスタンスが作成された __InstanceModificationEvent ゗ンスタンスの属性が変更された __InstanceDeletionEvent 既存の゗ンスタンスが削除された 16
  • 17. 監視の゗メージ ゗ベントログに゗ベ WORDが起動 ントが書かれた USBデバ゗スが挿された タ゗ムゾーンが変更 ユーザーがログオン IPゕドレス変更 シャットダウン メモ帳が終了 17
  • 18. 一時的な監視例① __InstanceCreationEventによる新たに作成されたインスタンスの監視 Set objLocator = CreateObject("WbemScripting.SWbemLocator") Set objService = objLocator.ConnectServer(TargetComputer, _ "", AdminUser, AdminPass) strQueryCreate = "Select * " & _ "FROM __InstanceCreationEvent WITHIN 5 " & _ 監視したい "WHERE TargetInstance ISA 'Win32_Process' " クラス Set objEventsCreation = objService.ExecNotificationQuery(strQueryCreate) Do Set CreationEvent = objEventsCreation.Nextevent ProcessName = CreationEvent.TargetInstance.Name Win32_Procass Wscript.Echo ProcessName のプロパテゖ Loop 18
  • 19. 一時的な監視例② __InstanceModificationEventによるユーザーログオンの監視 Set objLocator = CreateObject("WbemScripting.SWbemLocator") Set objService = objLocator.ConnectServer(TargetComputer, _ ‚ROOT¥CIMV2", AdminUser, AdminPass) strQuery= "Select * " & _ "FROM __InstanceModificationEvent WITHIN 5 " & _ "WHERE TargetInstance ISA 'Win32_ComputerSystem' " Set objEventsModification = objService.ExecNotificationQuery(strQuery) Do Set ModificationEvent = objEventsModification.Nextevent UserName = ModificationEvent.TargetInstance.UserName Wscript.Echo UserName Loop 19
  • 20. そこでこんな方法… 現在のログオンセッション一覧をキャッシュ ログオンしたらセッション作成 ログオフしたらセッション削除 ログオン時に割り振られた番号 ログオンのタ゗プ(対話、ネットワーク…) 現在ログオンしているユーザーのユーザーIDとログ オンIDをキャッシュ ログオンしたユーザーID ログオン時に割り振られた番号 20
  • 21. 一時的な監視例③ __InstanceCreationEventによるユーザーログオンの監視 Set objLocator = CreateObject("WbemScripting.SWbemLocator") Set objService = objLocator.ConnectServer("demo2008", "ROOT¥CIMV2", "", "") Wscript.Echo "接続が完了しました" strQueryCreate = "Select * FROM __InstanceCreationEvent WITHIN 5 " & _ "WHERE TargetInstance ISA 'Win32_LogonSession' ‚ Set objEventsCreation = objService.ExecNotificationQuery(strQueryCreate) Do Set CreationEvent = objEventsCreation.Nextevent LogonId= CreationEvent.TargetInstance.LogonID LogonType = CreationEvent.TargetInstance.LogonType strQueryLU = "Select * " & _ ‚FROM Win32_LoggedOnUser‛ ' Where Dependent like ‘%" & LogonId & "%’‚ Set objLoggedOnUser = objService.ExecQuery(strQueryLU) For Each u in objLoggedOnUser If instr(u.Dependent, LogonId) Then Wscript.Echo u.Antecedent ユーザーID Wscript.Echo u.Dependent ログオンID End If Next Loop 21
  • 22. 一時的な監視例③‘ (③をブラッシュアップ) Set objLocator = CreateObject("WbemScripting.SWbemLocator") Set objService = objLocator.ConnectServer("demo2008", "ROOT¥CIMV2", "", "") Wscript.Echo "接続が完了しました" strQueryCreate = "Select * FROM __InstanceCreationEvent WITHIN 5 " & _ "WHERE TargetInstance ISA 'Win32_LogonSession' ‚ Set objEventsCreation = objService.ExecNotificationQuery(strQueryCreate) Do Set CreationEvent = objEventsCreation.Nextevent LogonId= CreationEvent.TargetInstance.LogonID LogonType = CreationEvent.TargetInstance.LogonType Select Case LogonType Case 0 strLogonType = "System" Case 2 strLogonType = "Interactive" Case 3 strLogonType = "Network" Case 4 strLogonType = "Batch" Case 5 strLogonType = "Service" Case 6 strLogonType = "Proxy" Case 7 strLogonType = "Unlock" Case 8 strLogonType = "NetworkClearText" Case 9 strLogonType = "NewCredentials" Case 10 strLogonType = "RemoteInteractive(TS)" Case 11 strLogonType = "CachedInteractive" Case 12 strLogonType = "CachedRemoteInteractive" Case 13 strLogonType = "CachedUnlock" End Select 22
  • 23. strQueryLoggedOnUser = "Select * " & _ "FROM Win32_LoggedOnUser" Set objLoggedOnUser = objService.ExecQuery(strQueryLoggedOnUser) For Each u in objLoggedOnUser If instr(u.Dependent, LogonId) Then arrAntecedent = Split(u.Antecedent,".") Wscript.Echo Date & "," & Time & "," & _ LogonId & "," & arrAntecedent(2) & "," & strLogonType Exit For End If Next Loop 23
  • 24. 一時的な監視例④ __InstanceDeletionEventによるユーザーログオフの監視 Set objLocator = CreateObject("WbemScripting.SWbemLocator") Set objService = objLocator.ConnectServer("demo2008", "ROOT¥CIMV2", "", "") Wscript.Echo "接続が完了しました" strQueryCreate = "Select * " & _ "FROM __InstanceDeletionEvent WITHIN 5 " & _ "WHERE TargetInstance ISA 'Win32_LogonSession' " Set objEventsDeletion = objService.ExecNotificationQuery(strQueryCreate) Do Set DeletionEvent = objEventsDeletion.Nextevent LogonId= DeletionEvent.TargetInstance.LogonID LogonType = DeletionEvent.TargetInstance.LogonType Wscript.Echo Date & "," & Time & "," & LogonId & "," & strLogonType Loop セッションの削除はログオフしてから1分程度を要する 24
  • 25. ③’と④を組み合わせると ログオンID をキーにしてログデータベースに書き込むことでサーバー を使用したユーザーの履歴を管理できる ログDB ServerName LogonID LogonType LogonDateTime LogoffDateTime Domain UserID demo2008 5443965 Interactive 2009/03/01 2009/03/01 dom anno 10:00:00 12:15:30 demo2008 6220879 TS 2009/03/01 2009/03/01 dom administrator 12:00:00 13:10:01 25
  • 27. ゗ベントコンシューマ イベントコンシューマとは…. システムで発生したイベントをトリガーに特定のアクションを 実行する機構 • ActiveScriptEventConsumer – イベントが発生したらスクリプトを実行 • LogFileEventConsumer – ゗ベントが発生したらテキストフゔ゗ルに書き込み • NTEventLogEventConsumer – ゗ベントが発生したら゗ベント • SMTPEventConsumer – ゗ベントが発生したらメール送信 • CommandLineEventConsumer – ゗ベントが発生したらコマンドを実行 システムに登録されるのでログオンする必要が無い ただし、監視できるのはローカルコンピュータ 27
  • 28. MOFフゔ゗ルによる永続的監視 ActiveScriptEventConsumerによるmofフゔ゗ルの例 #pragma namespace("¥¥¥¥.¥¥root¥¥subscription") instance of ActiveScriptEventConsumer as $Cons { Name = "LogonUserLogging"; ScriptingEngine = "VBScript"; ScriptFileName = "c:¥¥tmp¥¥demoscript¥¥wmisample08.vbs"; }; instance of __EventFilter as $Filt { Name = "LogonUser"; Query = "SELECT * FROM __InstanceCreationEvent WITHIN 5 " "WHERE TargetInstance ISA ¥"Win32_LogonSession¥" "; QueryLanguage = "WQL"; EventNamespace = "root¥¥cimv2"; }; instance of __FilterToConsumerBinding { Filter = $Filt; Consumer = $Cons; 28 };
  • 30. 呼び出されるスクリプト(③‘’) Set objLocator = CreateObject("WbemScripting.SWbemLocator") Set objService = objLocator.ConnectServer("demo2008", "ROOT¥CIMV2", "", "") Set objFS = CreateObject("Scripting.FileSystemObject") Wscript.Echo "接続が完了しました" strQueryCreate = "Select * FROM __InstanceCreationEvent WITHIN 5 " & _ "WHERE TargetInstance ISA 'Win32_LogonSession' ‚ Set objEventsCreation = objService.ExecNotificationQuery(strQueryCreate) Do Set CreationEvent = objEventsCreation.Nextevent LogonId= CreationEventTargetEvvent.TargetInstance.LogonID LogonType = CreationEventTargetEvent.TargetInstance.LogonType Select Case LogonType Case 0 strLogonType = "System" Case 2 strLogonType = "Interactive" Case 3 strLogonType = "Network" Case 4 strLogonType = "Batch" Case 5 strLogonType = "Service" Case 6 strLogonType = "Proxy" Case 7 strLogonType = "Unlock" Case 8 strLogonType = "NetworkClearText" Case 9 strLogonType = "NewCredentials" Case 10 strLogonType = "RemoteInteractive(TS)" Case 11 strLogonType = "CachedInteractive" Case 12 strLogonType = "CachedRemoteInteractive" Case 13 strLogonType = "CachedUnlock" End Select 30
  • 31. strQueryLoggedOnUser = "Select * FROM Win32_LoggedOnUser" Set objLoggedOnUser = objService.ExecQuery(strQueryLoggedOnUser) For Each u in objLoggedOnUser If instr(u.Dependent, LogonId) Then arrAntecedent = Split(u.Antecedent,".") Set objLogFile = objFS.OpenTextFile("C:¥tmp¥demoscript¥userlog.txt",8,True) objLogFile.WriteLine Date & "," & Time & "," & LogonId & "," & _ arrAntecedent(2) & "," & strLogonType objLogFile.Close Wscript.Echo Date & "," & Time & "," & _ LogonId & "," & arrAntecedent(2) & "," & strLogonType Exit For End If Next Loop 31
  • 33. リソース MSDN - Windows Management Instrumentation http://msdn.microsoft.com/en-us/library/aa394582(VS.85).aspx Script Guy! http://www.microsoft.com/japan/technet/scriptcenter/resources/qand a/default.mspx 33
  • 34. 34