Administratorsにグループを追加作成するVBScript
ローカルAdministratorsにグループを追加作成するVBScriptを作成したので、備忘録として記事にしておきます。
ActiveDirectoryのグループポリシーの機能で、複数端末に一括設定する時などに使用出来ると思います。
以下がScriptの内容です。
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' PG : ローカルAdministratorsにグループを追加作成
' Author : 2018/04/09 www.adlink-kk.ne.jp
'
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''''
' 定数
'
'''''''''''''''''''''''''''''
Const e = "NG"
Const c = "OK"
Const MACHINE_NAME = "."
Const PERSONAL_GROUP_PATH = "WinNT://ドメイン名/作成グループ名"
Const PERSONAL_GROUP_NAME = "作成グループ名"
'''''''''''''''''''''''''''''
' 処理
'
'''''''''''''''''''''''''''''
Init()
Main()
''''''''''''''''''''''''''''''''''
' 事前処理(作成グループ存在確認)
'
''''''''''''''''''''''''''''''''''
Sub Init()
On Error Resume Next
Set Admins = GetObject("WinNT://" & MACHINE_NAME & "/Administrators")
For Each Member In Admins.Members
If Member.Name = PERSONAL_GROUP_NAME Then
Set Admins = Nothing
If Err = False Then
WScript.Quit
End If
End If
Next
Set Admins = Nothing
If Err Then
Term(e)
End If
End Sub
''''''''''''''''''''''''''''''''''
' メイン処理(グループ作成)
'
''''''''''''''''''''''''''''''''''
Sub Main()
On Error Resume Next
Set Admins = GetObject("WinNT://" & MACHINE_NAME & "/Administrators")
Set Personal = GetObject(PERSONAL_GROUP_PATH)
Admins.Add(Personal.ADsPath)
Set Personal = Nothing
Set Admins = Nothing
Term(c)
If Err Then
Term(e)
End If
End Sub
''''''''''''''''''''''''''''''''''
' 事後処理
'
''''''''''''''''''''''''''''''''''
Sub Term(ByVal flg)
On Error Resume Next
Set objNetWork = WScript.CreateObject("WScript.Network")
Set fso = CreateObject("Scripting.FileSystemObject")
fso.CreateTextFile fso.BuildPath(fso.GetParentFolderName(WScript.ScriptFullName), flg & "_" & objNetWork.ComputerName & "_" & objNetWork.UserName & ".txt")
Set objNetWork = Nothing
Set fso = Nothing
WScript.Quit
End Sub
