Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PowerShell:如何删除服务器上的安全组?_Powershell - Fatal编程技术网

PowerShell:如何删除服务器上的安全组?

PowerShell:如何删除服务器上的安全组?,powershell,Powershell,如何使用PowerShell脚本删除服务器上的Windows安全组 我有一项任务要删除所有旧的用户组,并希望自动执行此过程以节省时间。这应该可以做到 $GroupName = 'test'; $Adsi = [adsi]'WinNT://localhost'; $Adsi.Delete('group', $GroupName); 要从本地安全组中删除域组,请参阅以下代码: function Remove-DomainGroupFromLocalGroup { [CmdletBindin

如何使用PowerShell脚本删除服务器上的Windows安全组

我有一项任务要删除所有旧的用户组,并希望自动执行此过程以节省时间。

这应该可以做到

$GroupName = 'test';
$Adsi = [adsi]'WinNT://localhost';
$Adsi.Delete('group', $GroupName);
要从本地安全组中删除域组,请参阅以下代码:

function Remove-DomainGroupFromLocalGroup {
    [CmdletBinding()]
    param (
          [Parameter(Mandatory = $true)]
          [string] $LocalGroupName
        , [Parameter(Mandatory = $true)]
          [string] $DomainGroupName
    )
    begin {
        Add-Type -AssemblyName System.DirectoryServices.AccountManagement;
    }
    process {
        $LocalContext = New-Object -TypeName System.DirectoryServices.AccountManagement.PrincipalContext -ArgumentList ([System.DirectoryServices.AccountManagement.ContextType]::Machine);
        $DomainContext = New-Object -TypeName System.DirectoryServices.AccountManagement.PrincipalContext -ArgumentList ([System.DirectoryServices.AccountManagement.ContextType]::Domain);

        $GroupPrincipal = [System.DirectoryServices.AccountManagement.GroupPrincipal]::FindByIdentity($LocalContext, [System.DirectoryServices.AccountManagement.IdentityType]::Name, $GroupName);
        $GroupToRemove = [System.DirectoryServices.AccountManagement.GroupPrincipal]::FindByIdentity($DomainContext, [System.DirectoryServices.AccountManagement.IdentityType]::Name, $Remove);

        if ($GroupToRemove) {
            $GroupPrincipal.Members.Remove($GroupToRemove);
            $GroupPrincipal.Save();
        }
    }
}

Remove-DomainGroupFromLocalGroup -LocalGroupName Administrators -DomainGroupName TestGroup;

不客气:)我刚刚修复了代码,因为我忘了替换变量值。该组将是Windows系统上的本地安全组。如果我必须删除administrators组下的组,则如何执行???使用PowerShell函数更新答案,该函数应能满足您的需要。