我有一些客户端在域中,有些不在。我需要知道如何检索特定本地用户在哪些客户端上存在,然后将其删除。对于域客户端,使用 GPO 相当容易,但对于非域客户端呢?我知道 Powershell 命令获取本地用户和删除本地用户,但我并不想在每台电脑上都启动它。您知道有什么脚本可以帮到您吗?
谢谢
答案1
您需要启用 PSRemoting (工作组模式) 在那些非域机器上,然后您可以使用远程处理来执行此操作,并且这些系统必须具有最新的 PSv5 或具有来自 MS powershellgallery.com 的本地用户管理模块。
您仍然需要接触每台机器来设置远程处理。
•在独立(工作组)计算机上启用 PowerShell 远程处理
•独立工作组计算机之间的 PowerShell PS 远程处理
阅读每一篇文章,以便了解所有细节,但摘要如下:
### 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 工具: