在多个客户端上查找并删除本地用户

在多个客户端上查找并删除本地用户

我有一些客户端在域中,有些不在。我需要知道如何检索特定本地用户在哪些客户端上存在,然后将其删除。对于域客户端,使用 GPO 相当容易,但对于非域客户端呢?我知道 Powershell 命令获取本地用户删除本地用户,但我并不想在每台电脑上都启动它。您知道有什么脚本可以帮到您吗?

谢谢

答案1

您需要启用 PSRemoting (工作组模式) 在那些非域机器上,然后您可以使用远程处理来执行此操作,并且这些系统必须具有最新的 PSv5 或具有来自 MS powershellgallery.com 的本地用户管理模块。

您仍然需要接触每台机器来设置远程处理。

在独立(工作组)计算机上启用 PowerShell 远程处理

两个工作组计算机之间的 PowerShell 远程处理

独立工作组计算机之间的 PowerShell PS 远程处理

两个工作组计算机之间的 PowerShell 远程处理

阅读每一篇文章,以便了解所有细节,但摘要如下:

### Remote Computer

NetConnectionProfile -NetworkCategory Private
Enable-PSRemoting -SkipNetworkProfileCheck -Force
Set-NetFirewallRule –Name "WINRM-HTTP-In-TCP-PUBLIC" –RemoteAddress Any


### Local computer

# Review teh trusted host file
Get-Item WSMan:\localhost\Client\TrustedHosts

# Set the trusted a specific target
Set-Item WSMan:\localhost\Client\TrustedHosts -Value "10.0.2.33" -Force

# Or for several hosts if you don't want to specify them individually
Set-Item WSMan:\localhost\Client\TrustedHosts -Value "*" -Force

# Connect to a host
Enter-PSSession -ComputerName 10.0.2.33 -Credential $Credentials

你可以运行一些 PowerShell 命令未启用远程功能

使用 Windows PowerShell 进行远程工作,无需使用 Remoting 或 WinRM

Get-WinEvent
Get-Counter
Get-EventLog
Clear-EventLog
Write-EventLog
Limit-EventLog
Show-EventLog
New-EventLog
Remove-EventLog
Get-WmiObject
Get-Process
Get-Service
Set-Service
Get-HotFix
Restart-Computer
Stop-Computer
Add-Computer
Remove-Computer
Rename-Computer
Reset-ComputerMachinePassword

或者使用 MS Sysinternals PSExec.exe 工具:

Sysinternals 套件 - Windows Sysinternals | Microsoft Docs

相关内容