Powershell 如何判断一个用户是否在一个用户组里面

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Powershell 如何判断一个用户是否在一个用户组里面相关的知识,希望对你有一定的参考价值。

参考技术A 使用whoami /all命令,此命令可以列出当前用户所有组的名称。
将命令的输出赋值给一个变量;
然后对变量中的字符串进行匹配操作,筛选需要的行是否存在。
参考技术B Windows7和Windows server 2008中是没有dos的,只有命令提示符。即使您使用winpe引导进入系统也不是dos系统。如果你想用DOS,就只能使用光盘或者软盘制作一个... 参考技术C 你可以试试:
$user = 'mark' #待检测账户
$group = 'Administrators' #待检测用户组
$temp = Get-WmiObject -Query " select * from Win32_GroupUser"
foreach ($t in $temp )

if (($t.GroupComponent -match $group) -and ($t.PartComponent -match $user))

echo "$group 包含账户:$user"
return



echo "$group 组不包含账户:$user"本回答被提问者和网友采纳

用 C# 如何判断数据库中是否存在一个值

选定一个列,比如用户编号列

//欲插入的用户编号
string ll_userID="xxxxxxxx";

//查询此编号是否存在
SqlCommand mycmd = new SqlCommand("select 用户编号 from table where 用户编号=‘"+ll_userID+"‘", mycon);

SqlDataReader mysdr = mycmd.ExecuteReader();

if (mysdr.HasRows)
 
     //已经有记录使用此编号
 
else
 
    //此编号未被使用    
 

mysdr.Close();
mycon.Close(); 

----------如果用户编号列是整型的话,也可以写成这样子

int ll_userID;

//取出当前记录中最大编号值
SqlCommand mycmd = new SqlCommand("select max(用户编号) from table", mycon);

SqlDataReader mysdr = mycmd.ExecuteReader();

//这里还检测是否有记录的目的是为了判断表是否为空
if (mysdr.HasRows)
 
     //表不为空,在查询得到的最大编号基础上+1,然后插入新纪录
 
else
 
    //表为空,则插入一个默认的最小编号记录
 

mysdr.Close();
mycon.Close();

以上是关于Powershell 如何判断一个用户是否在一个用户组里面的主要内容,如果未能解决你的问题,请参考以下文章

powershell通过注册表路径判断系统是否需要重启

powershell 判断ip地址是不是有效

用 C# 如何判断数据库中是否存在一个值

如何使用PowerShell解锁Azure AD用户帐户?

shell 如何判断用户从键盘输入的变量是否为数字

Powershell 脚本判断制定路径下文件是否存在(来源于网络-转载)