博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
域账号加到本机管理员组和本机Power Users组
阅读量:6229 次
发布时间:2019-06-21

本文共 2318 字,大约阅读时间需要 7 分钟。

在日常工作中,有时需要将某个AD账号加到本机管理员组中,但是如果用AD中的受限组来做的话,会将Admin组现有的其它成员全部移出来的!下面的脚本就是专门为解决此问题所写的!

Dim sFlag

Dim oWshNetwork
Set oWshNetwork = WScript.CreateObject("WScript.Network")
strComputer = oWshNetwork.ComputerName
sFlag=0
Set colGroups = GetObject("WinNT://" & strComputer & "/Administrators")
For Each objUser In colGroups.Members
    'Wscript.Echo  objUser.Name
Next
strTestString = "/" & strComputer & "/"
Set colGroups = GetObject("WinNT://" & strComputer & "/Administrators")
For Each objUser In colGroups.Members
    If InStr(objUser.AdsPath, strTestString) Then
        'Wscript.Echo "Local user: " & objUser.Name
    Else
        IF objuser.Name = "DomainUser" Then
           sFlag=1                       
            'wscript.echo "IN"   
        end if 
      'Wscript.Echo "Domain user: " & objUser.Name
    End If
Next
if sFlag=0 then 
   'wscript.echo "NO"
Set objGroup = GetObject("WinNT://" & strComputer & "/Administrators")
             Set objUser = GetObject("WinNT://Domain/DomainUser")
             objGroup.Add(objUser.ADsPath)
end if             
其中加了一个判断检测后,就不管此用户是存在于本机的管理员组,都不会有错误提示,如果已存在,则结束运行脚本,如果不存在,将DomainUser加到本机管理员组!
有需要的用户,将上面的代码COPY出来,存为.vbs格式,放在domain.com\SYSVOL\domain.com\scripts下面,用GPO加到Computer Setting的启动脚本中,这时候对用户的权限没有要求,因为这个时间是电脑启动中,用户还没有登录,是以域管理员的身份在执行脚本.
大家要用的话,只要将Domain改为你的Domain Name,将DomainUser改为你要加到本机管理员组的账号,就可以了!

大家都知道,在域环境中,默认情况下,所有域用在本地电脑中只有Users组的权限,但是,在实际应用中,Users的权限很少,连设置共享都不行,有些环境需要给域用户POWER USERS的权限,下面的脚本,就是为实现些功能而写!

注意上:应用时,请将下面黑体的domain改为你自已的域名!

dim sFlag

Dim oWshNetwork
Set oWshNetwork = WScript.CreateObject("WScript.Network")

strComputer = oWshNetwork.ComputerName

sFlag=0
Set colGroups = GetObject("WinNT://" & strComputer & "/power users")

For Each objUser In colGroups.Members

    'Wscript.Echo  objUser.Name
Next

strTestString = "/" & strComputer & "/"

Set colGroups = GetObject("WinNT://" & strComputer & "/power users")

For Each objUser In colGroups.Members

    If InStr(objUser.AdsPath, strTestString) Then
        'Wscript.Echo "Local user: " & objUser.Name
    Else
        IF objuser.Name = "Domain users" Then
           sFlag=1                       
            'wscript.echo "IN"   
        end if 
      'Wscript.Echo "Domain user: " & objUser.Name
    End If
Next
if sFlag=0 then 
   'wscript.echo "NO"
Set objGroup = GetObject("WinNT://" & strComputer & "/power users")
             Set objUser = GetObject("WinNT://domain/domain users")
             objGroup.Add(objUser.ADsPath)
end if     

 

很实用,有兴趣的朋友可以试试。

1、我们还有个更快捷的办法,新建组策略,并挂到对应的OU即可,选择本地用户和组

1.png

2、选择本地组

2.png

3、选择添加当前用户

3.png

用户注销后在登陆就将当前用户添加到管理员组了,我们需要在注销一次,权限才会生效。

 

转载地址:http://jktna.baihongyu.com/

你可能感兴趣的文章
iptables学习笔记
查看>>
jQuery中的$(window)与$(document)的用法区别
查看>>
java中多种写文件方式的效率对比实验
查看>>
Cisco 2960 配置
查看>>
阿里大鱼数据库存储方案
查看>>
if判断的几种用法
查看>>
mysql安装与初始配置
查看>>
su命令
查看>>
linux 安装nginx
查看>>
建议把.CSV的默认打开方式改成任意一个文本 编辑器,系统自带的记事本就是个不错的选择...
查看>>
js 邮箱、11位手机正则
查看>>
使用Vim插件管理器Vundle
查看>>
Docker基于已有的镜像制新的镜像
查看>>
ServerCore命令
查看>>
nginx安装步骤总结-故障排查-浏览原理
查看>>
菜鸟学Linux 第071篇笔记 Mysql理论
查看>>
LINUX REDHAT第十四单元文档
查看>>
Java线程间通信之wait/notify
查看>>
jstat监控JVM内存使用情况、GC回收情况
查看>>
PHP ElasticSearch的使用
查看>>