博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
获取管理员组用户
阅读量:6949 次
发布时间:2019-06-27

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

获取本地管理员组用户

方法一:

$strComputer = $env:COMPUTERNAME$computer = [ADSI]("WinNT://" + $strComputer + ",computer")$Group = $computer.psbase.children.find("Administrators")  #可以自定义组名称$members= $Group.psbase.invoke("Members") | %{
$_.GetType().InvokeMember("Name", 'GetProperty', $null, $_, $null)}$members

方法二:

[string]$computerName = $env:ComputerName$computer = [ADSI]"WinNT://$computerName"$admingroup="administrators"  #可以自定义组名称$group = [ADSI]"WinNT://$computerName/$admingroup"$members = $group.psbase.invoke("Members") | %{
$_.GetType().InvokeMember("Name", 'GetProperty', $null, $_, $null)}$members

方法三:

$group = [ADSI]“WinNT://./administrators,group”$members = $group.psbase.invoke("Members") | %{
$_.GetType().InvokeMember("Name", 'GetProperty', $null, $_, $null)}$members#通过 $members.Contains("$user") 判断是否包含 $user,返回 true 则为真。

方法四(批处理):

net localgroup administrators

 

方法五(将vbs转换为powershell):这个没有成功,应该是可以的

[reflection.assembly]::LoadWithPartialName("'Microsoft.VisualBasic")

$a= [Microsoft.VisualBasic.Interaction]::GetObject("WinNT://./Administrators")
$a|%{$_.GetType().InvokeMember("Name", 'GetProperty', $null, $_, $null)}

 结果为: administrators

 

 

判断当前登录用户是否属于管理员组:

当前用户是否属于管理员组:

方法一:

$currentUser = [Security.Principal.WindowsIdentity]::GetCurrent() (New-Object Security.Principal.WindowsPrincipal $currentUser).IsInRole([Security.Principal.WindowsBuiltinRole]::Administrator)

方法二:

whoami /groups /fo CSV | ConvertFrom-Csv | where { $_.SID -eq 'S-1-5-32-544' }) -ne $nulwhoami /groups

获取本地用户:

gwmi win32_useraccount

获取本地组:

gwmi win32_group

ADSI删除用户:

$User = [ADSI]"WinNT://$computerName" $user.Delete("User",$userName)

添加用户:

net user abc abcpassword /addnet localgroup administrators abc /add

删除Administrator以外的所有管理员账户(.vbs):

strComputer = "."

On Error Resume Next
Set oGroupAdm = GetObject("WinNT://" & strComputer & "/Administrators")
For Each oAdmGrpUser In oGroupAdm.Members
sAdmGrpUser = LCase(oAdmGrpUser.Name)
REM MsgBox sAdmGrpUser
If (sAdmGrpUser <> "administrator") And (sAdmGrpUser <> "domain admins") And (sAdmGrpUser <> "administrator") Then
MsgBox sAdmGrpUser
oGroupAdm.Remove oAdmGrpUser.ADsPath
End if
Next

 

本地用户管理:http://www.cnblogs.com/dreamer-fish/p/3365542.html

转载于:https://www.cnblogs.com/dreamer-fish/p/3915631.html

你可能感兴趣的文章
通过php 执行git pull 自动部署
查看>>
google乱码 IE浏览器 英文
查看>>
Linux查看系统配置常用命令
查看>>
销售型网站把握的设计要点
查看>>
我的友情链接
查看>>
mongodb数据备份和还原
查看>>
VM虚拟机下安装Centos7.0图文教程
查看>>
我的友情链接
查看>>
编译安装php-5.6.19出现的问题configure: error: mysql configure failed. Please check config.log...
查看>>
第三方登录之QQ登录(一)——QQ互联开放平台新建应用
查看>>
MyBatis mapper.xml处理sql中的 大于,小于,大于等于,小于等于
查看>>
java 受检异常和非受检异常
查看>>
GC垃圾回收机制
查看>>
rsync通过服务同步、linux系统日志
查看>>
一篇文章带你解析,乐观锁与悲观锁的优缺点
查看>>
阿里云如何打破Oracle迁移上云的壁垒
查看>>
小技巧:如何突破某些网站只能登陆后才能进行文字拷贝的限制
查看>>
Spring Boot教程(十八)使用Spring StateMachine框架实现状态机
查看>>
区块链如何应用于保险行业
查看>>
自然语言处理工具HanLP被收录中国大数据产业发展的创新技术新书《数据之翼》...
查看>>