命令行控制windows的账户权限管理

        总结一下最近一直在折腾的命令行控制账户的访问权限的相关技术点,所有的操作都放在Powershell里面执行,部分命令在cmd命令提示符里面也可以执行。有一个大前提,就是在发送配置的时候必须使用管理员账户登录系统,然后在命令行去管控其他的标准账户,最后达到的效果类似家长控制。

1、命令行管理标准账户:

新增账户:新账户名为test

#net user test /add

删除账户:

#net user test /del

2、命令行管理账户对系统的访问时间

  命令行设置账户访问系统的时间限制,如下例子

#net user test /times:M,8-18;Su,8-18

上面命令执行的结果表示test这个账户只能在星期一和星期天的8点到18点才能访问系统,其他时间无法访问系统

备注,好像上面的命令在Powershell里面无法正常运行,只能在cmd里面才能运行,具体可以测试一下。

#net user test /times:all

上面这条命令可以清除所有的时间访问限制,任何时间都能使用test账户访问系统。

3、命令行管理账户对应用的访问限制

这个功能和家长控制里面的对应用的限制类似,命令行里面和家长控制里面的控制方法一样,需要获取windows上面所有安装好的exe文件,然后再对该文件进行限制以达到应用的访问限制。此命令只能在PowerShell里面进行,无法再cmd里面进行。命令如下所示:

$APP="C:\Program Files (x86)\Tencent\QQ\Bin\QQScLauncher.exe"
$ACL = Get-ACL -Path $APP; 
$AccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule('DESKTOP-SDB6AM2\test','FullControl','Deny')
$ACL.AddAccessRule($AccessRule)
$ACL | Set-Acl -Path $APP

第一条命令表示获取qq可执行文件的路径给变量APP

第二条表示获取qq的本来权限,赋值给变量ACL

第三条是新建一条针对账户test访问限制的规则给变量AccessRule 

第四条命令表示将新建的规则增加到ACL变量中去

第五条命令表示设置规则,使新建的访问规则生效

执行完以上命令后,test这个账户就无法访问qq应用了

备注:第三个命令中的DESKTOP-SDB6AM2是计算机账户名,如下所示,到时候根据自己计算机名称进行修改:

命令行控制windows的账户权限管理_第1张图片

 

如果要取消test账户对qq的访问限制,执行以下命令,即可取消限制:

$APP="C:\Program Files (x86)\Tencent\QQ\Bin\QQScLauncher.exe"
$ACL = Get-ACL -Path $APP; 
$AccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule('DESKTOP-SDB6AM2\test','FullControl','Deny')
$ACL.RemoveAccessRule($AccessRule)
$ACL | Set-Acl -Path $APP

第一条命令表示获取qq可执行文件的路径给变量APP

第二条表示获取qq的本来权限,赋值给变量ACL

第三条是新建一条针对账户test访问限制的规则给变量AccessRule 

第四条命令表示将ACL变量中的AccessRule 规则删除掉

第五条命令表示设置规则,使新建的访问规则生效

执行上面的命令,就取消了test账户对qq这个应用的访问限制。

你可能感兴趣的:(windows,windows,Get-ACL,PowerShell,cmd,账户访问控制)