zoukankan      html  css  js  c++  java
  • powershell:删除windows系统 非信任的管理员权限

    #Load [ADSI]"Administrators"
    $Computer = $env:COMPUTERNAME 
    $AdminGroup = 'Administrators'
    $ADSI = [ADSI]("WinNT://$Computer")
    $ADSIGroup = $ADSI.Children.Find($AdminGroup, 'Group')
    
    #LimtUsers 
    [System.Collections.ArrayList]$limtUsers = "AACA-SCCMClientAdmin", "AACDomain Admins", "AACUSG-AAC-LocalAdmins", "Administrator"
    
    #FirstTime to Get Administrators Users list
    [System.Collections.ArrayList]$GetAGUsers = Net localgroup Administrators | ? {$_} | select -skip 4
    $GetAGUsers.Remove( $GetAGUsers[-1] )
    
    #Select DenyUsers by compare $LimUesrs
    $DenyUsers = Compare-Object -ReferenceObject $GetAGUsers -DifferenceObject $limtUsers | ? { $_.SideIndicator -eq '<='} | select -ExpandProperty InputObject
    
    #Delete DenyUsers in Administrators
    if ($DenyUsers.count -ge 1) {
        foreach ( $DenyUser in $DenyUsers) {
            if ($DenyUser.Length -gt 20) {
                $DenyUserString = ($DenyUser -replace "\", "/").toString()
                $ADSIGroup.Remove(("WinNT://$DenyUserString"))
            }
            else {
                Net LocalGroup Administrators $DenyUser /DELETE  | Out-Null 
            }
        }
    }
    
    #SecoundTime to Get Administrators Users list 
    [System.Collections.ArrayList]$NewAGUsers = Net localgroup Administrators | ? {$_} | select -skip 4
    $NewAGUsers.Remove( $NewAGUsers[-1] )
    
    #Select LackUsers by compare $LimUsers
    $LackUsers = Compare-Object -ReferenceObject $NewAGUsers -DifferenceObject $limtUsers| ? { $_.SideIndicator -eq '=>'} | select -ExpandProperty InputObject
    
    #Add LackUsers to Administrators
    if ( $LackUsers.Count -ge 1) {
        foreach ($Lackuser in $LackUsers ) {
            Net LocalGroup Administrators $Lackuser /ADD | Out-Null 
        }
    }
    
    #LastTime to Get Administrators Users list 
    [System.Collections.ArrayList]$NowAGUsers = Net localgroup Administrators | ? {$_} | select -skip 4
    $NowAGUsers.Remove( $NowAGUsers[-1] )
     
    #Check Result
    if (!(Compare-Object -ReferenceObject $NowAGUsers -DifferenceObject $limtUsers)) {
        if (!(Test-Path HKLM:SoftwareSCCM_Deploy)) {
            New-Item -type Directory HKLM:SoftwareSCCM_Deploy | Out-Null        
        }New-Item  HKLM:SoftwareSCCM_DeployRemoveUntrustedAdmin  -itemType String -value "Success" | Out-Null
    }else{
    exit}
    

      

  • 相关阅读:
    随机梯度下降(Stochastic gradient descent)和 批量梯度下降(Batch gradient descent )的公式对比
    stringstream读入每行数据
    java Log4j封装,程序任何位置调用
    Oracle 归档模式和非归档模式
    为什么需要 RPC 服务?
    JFrame windowbuiler的使用基础
    Eclipse安装windowsbuilder
    字符串反转
    static{}静态代码块与{}普通代码块之间的区别
    jQuery EasyUI 数据网格
  • 原文地址:https://www.cnblogs.com/vmsky/p/13698705.html
Copyright © 2011-2022 走看看