从远程服务器中删除特定的本地用户帐户

时间:2017-11-07 15:27:56

标签: powershell

我们在本地计算机上安装了大量具有多个帐户的服务器,我需要从多个服务器中删除多个本地帐户并检查它们是否已被删除。

我能看到的唯一方法就是使用PS-remoting(在我们的环境中,它完全被锁定,所以这是唯一的选择)

据我所知,许多新命令(如Remove-localuseraccount)仅支持新版本的PS(我们有一个升级到更好版本的项目)

$Computers = Get-Content C:\script\servers.txt

ForEach ($Computer in $Computers) {
$Session = New-PSSession -ComputerName $Computer

Invoke-Command -Session $session -ScriptBlock {

}

但是我可以运行什么命令来检查我拥有的多个帐户列表,如果找到任何帐户列表则删除?

1 个答案:

答案 0 :(得分:0)

期望的状态配置:您的生活变得轻松

这将禁用本地帐户并使用DSC保持这种方式。

Setup.ps1

Install-Module -Name 'PSDscResources'
Set-Location -Path "$env:LocalAppData\Temp"
Configuration 'DisableDefaults'
{
    Import-DscResource -ModuleName 'PSDscResources'
    Node 'localhost'
    {
        User 'Default'
        {
            Username = 'DefaultAccount'
            Disabled = $True
        }
        User 'Guest'
        {
            Username = 'Guest'
            Disabled = $True
        }
        User 'Admin'
        {
            Username = 'Administrator'
            Disabled = $True
        }
    }
}
DisableDefaults

Execution.ps1

Set-Location -Path "$env:LocalAppData\Temp\DisableDefaults"
$Computers = Get-Content -Path 'C:\script\servers.txt'

$Sessions = New-CimSession -ComputerName $Computers
Start-DscConfiguration -Path '.' -CimSession $Sessions -Wait -Force -Verbose
Remove-CimSession -CimSession $Sessions

您可以剪切CimSession[]并只传递-ComputerName $Computers。此外,您可以使用-Credential $PSCred参数。