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

二、映射网络路径(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 = To colDrives.Count-Step 2
    
    
If colDrives.Item(i + 1) = sharedir Then
   
        
found = 1
        
Exit For
    End If
    
Next

If 
found=Then
   
createUserFolder sharedir,username
         MapNext(sharedir)
 

End If 

'wshShell = Null
objNetwork = Null 


Function MapNext(strShare)
    
For intDrive = 26 To 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,设为 用户级运行脚本。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值