活动目录管理中常用的脚本(二)

二、映射网络路径(UPN)
每个用户登陆时,自动映射网络驱动,这个目录只有该用户才能访问,其他用户包括Administrators Groups member也无法访问,主要让用户存放个人数据。
如果这个用户是第一次登陆时,脚本将会为这个用户在
“\\domainName\root\user datas\”路径中创建以用户名命名的目录。
'==========================================================================
'
' VBScript Source File -- Created with SAPIEN Technologies PrimalScript 4.0
'
' NAME: auto map network directory to local z: driver
'
' AUTHOR: Bona Shen
' DATE : 2006-10-31
'
' COMMENT: auto map network directory to local z: driver
'
'==========================================================================
On Error Resume Next
dim objNetwork
Set objNetwork = CreateObject("Wscript.Network")
Set colDrives = objNetwork.EnumNetworkDrives
userName = getUserName
sharedir="\\domainName\root\user datas\" & username
found=0
For i = 0 To colDrives.Count-1 Step 2
If colDrives.Item(i + 1) = sharedir Then
found = 1
Exit For
End If
Next
If found=0 Then
createUserFolder sharedir,username
MapNext(sharedir)
End If
'wshShell = Null
objNetwork = Null
Function MapNext(strShare)
For intDrive = 26 To 5 Step -1
If TryMapDrive(intDrive, strShare) Then
MapNext = Chr(intDrive + 64) & ":"
Exit For
End If
Next
End Function
Function TryMapDrive(intDrive, strShare)
' Convert number to drive letter and try mapping share to it
' will get an error if drive letter is in use
Dim strDrive
strDrive = Chr(intDrive + 64) & ":"
On Error Resume Next
objNetwork.MapNetworkDrive strDrive, strShare
TryMapDrive = (Err.Number = 0)
End Function
Sub createUserFolder(folderpath,username)
'create user floder
Set objFSO = CreateObject("Scripting.FileSystemObject")
If Not objFSO.FolderExists(folderpath) Then
'WSH.Echo "create folder"
objFSO.CreateFolder(folderpath)
configPermission username,folderpath
End If
End Sub
Sub configPermission(username,folderpath)
Set wshShell = WScript.CreateObject("WScript.Shell")
userdir=""""&folderpath&""""
argu = userdir & " /G "& username &":f"
wshShell.Run("cscript \\
domainName\root\scripts\xcacls.vbs "& argu)
wshShell = Null
End Sub
Function getUserName
getUserName = objNetwork.UserName
End Function
注:加载这个脚本时要创建GPO,设为用户级运行脚本。

活动目录管理中常用的脚本(一)

当一个企业要全面实施AD,对网络管理员来说是一次挑战,当项目实施完以后,并非一劳永逸的事情。
我们还要对网络进行不断的维护,下面讲讲我在实施活动目录后,还要做的一些事情的脚本
这些资料在网上都是很零碎的,曾经想开一个网站,专于活动目录的实施、维护、管理,后来没有太多的时间,就将网站的事情给搁置了,现在就在cnblogs上发布来一些资料。
一、禁用本地管理员
禁用本地管理员目的是降低客户机的用户在本地的管理,取而代之的是网络管理员来实现统一布置和管理.
1)方法一
'==========================================================================
'
' VBScript Source File -- Created with SAPIEN Technologies PrimalScript 4.0
'
' NAME: reset user of administrators group's randomize password

'
' AUTHOR: Bona Shen
' DATE : 2006-12-10
'
' COMMENT: 每次启动时随机产生15位密码重置管理员组的用户密码
'
'==========================================================================
'Set objNetwork = CreateObject("Wscript.Network")
strComputer = "."'objNetwork.ComputerName
Set colAccounts = GetObject("WinNT://" & strComputer & "")
colAccounts.Filter = Array("user")
Randomize
For Each objUser In colAccounts
'Wscript.Echo objUser.Name
For Each objGroup In objUser.groups
If objGroup.name = "Administrators" Then
objUser.SetPassword GeneratePassword()
objUser.setInfo
'WSH.Echo GeneratePassword()
End If
Next
Next
Function GeneratePassword
'Dim strPassword
strPassword =" 123)4(5!6~7890%#$@&*"
password = ""
Dim j
For i = 1 to 15
j=Int((len(strPassword)-1) * Rnd + 1)
'int((upperbound - lowerbound + 1) * rnd + lowerbound)
'WSH.Echo j
password =password+ mid(strPassword,j,1)
Next
GeneratePassword = password
End Function

2)方法二
'==========================================================================
'
' VBScript Source File -- Created with SAPIEN Technologies PrimalScript 4.0
'
' NAME: Disable user of administrators group
'
' AUTHOR: Bona Shen
' DATE : 2006-12-10
'
' COMMENT: 禁用本地机管理员组的用户
'
'==========================================================================
'Set objNetwork = CreateObject("Wscript.Network")
strComputer = "."'objNetwork.ComputerName
Set colAccounts = GetObject("WinNT://" & strComputer & "")
colAccounts.Filter = Array("user")
For Each objUser In colAccounts
'Wscript.Echo objUser.Name
For Each objGroup In objUser.groups
If objGroup.name = "Administrators" Then
objUser.AccountDisabled = true
objUser.setInfo
End If
Next
Next

运行这些脚本时不要忘记创建一个GPO,采用Computer级运行这些脚本。而不要到每台客户机运行(一般人都知道)~_~。
现在已经体现了活动目录的作用了。

活动目录(activate directory)

目前国内上规模的企业拥有的计算数大多数都在100台以上,如何来集中有效的管理计算机及文件安全?这方面应该是个很大的市场。
我在网上找了一些关于的AD资料,不过都是很零碎的,东一点西一点,而且雷同的很多,大概是网络发达的原因吧,^_^。
不过这些资料都不是很系统,如何让一个不懂AD的人很快就进入角色呢?
微软官方网站上也有TeachNet方面的资料,大部份是要有一定AD基础的人也看得懂。
我在网上找一个lab,这个lab从开始组建到如何高级管理AD,都有视频。
现将lab book放上来,给需要帮助的朋友提个参考。
下载1
下载2
因blogs一次上传只能5M的文件大小,所以将分卷压缩成两个文件。
要视频的朋友可以给联系。