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}
    

      

  • 相关阅读:
    《算法》C++代码 Floyd
    《算法》C++代码 快速排序
    3-3当访问到一个文件跳转到另一个文件
    分别应用include指令和include动作标识在一个jsp页面中包含一个文件。
    历届试题 蚂蚁感冒
    HDU 2817 A sequence of numbers
    HDU-2018 母牛的故事
    算法提高 复数归一化
    算法提高 十进制数转八进制数
    算法提高 约数个数
  • 原文地址:https://www.cnblogs.com/vmsky/p/13698705.html
Copyright © 2011-2022 走看看