【Script】Windows Server 2008/R2 にインストールされている役割と機能の一覧表示


以下をメモ帳にコピペして、拡張子vbsで保存してください。


スクリプトギャラリーには、その他のサンプルがたくさん!!


---ここから 


strComputer = "."


Set objDic_Name = CreateObject("Scripting.Dictionary")
Set objDic_Parent = CreateObject("Scripting.Dictionary")
Set objDic_Tree = CreateObject("Scripting.Dictionary")


Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colFeatureList = objWMIService.ExecQuery("SELECT * FROM Win32_ServerFeature")


For Each n in colFeatureList
 objDic_Name.Add n.ID, n.Name
 objDic_Parent.Add n.ID, n.ParentID
 'Wscript.Echo n.ID & ":" & n.Name & ":" & n.ParentID
Next


strFunctions = ""


For Each ID in objDic_Name.Keys


 ParentID = objDic_Parent(ID)
 Name  = objDic_Name(ID)


 If ParentID = "0" then
    objDic_Tree.Add ID , "+"
 Else
    If objDic_Tree.Exists(ParentID) Then
  objDic_Tree.Add ID, objDic_Tree(ParentID) & "+"
    End If 
 End IF


 strName_Me = objDic_Tree(ID) & Name


 If ParentID = 0 Then
  strName_Parent = "N/A"
 Else
  strName_Parent = objDic_Tree(ParentID) & objDic_Name(ParentID)
 End If


 If InStr(strFunctions , strName_Parent) Then
  strFunctions = Replace(strFunctions, strName_Parent, strName_Parent & "," & strName_Me)
 Else
  strFunctions = strFunctions & "," & strName_Me
 End If


Next


arrName = Split(strFunctions ,",")


For Each n in arrName
 Wscript.Echo n
Next

Comments (0)

Skip to main content