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