zoukankan      html  css  js  c++  java
  • 活动目录管理中常用的脚本(二)

    二、映射网络路径(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,设为用户级运行脚本。
  • 相关阅读:
    json-c初探(一)
    Java程序员跳槽的首选面试题最新合集(2021下半年),初中高级程序员!
    R语言版本的bedtools--bedtoolsr
    使用R语言(cpm包)进行序列变点(change point)检测
    三款PHP大马,已解密、去后门
    php 取出数据表数据放入数组并排序
    VimTutor每讲小结
    记录一下c++学习过程
    vmware fusion关闭自动挂起(suspend)的方法
    mac中安装mysqlclient出错error: command 'clang' failed with exit status 1的解决办法
  • 原文地址:https://www.cnblogs.com/jssy/p/601527.html
Copyright © 2011-2022 走看看