ローカルAdministratorsにグループを追加作成するVBScript

ブログ

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