제목에서 알 수 있듯이 네트워크에서 어떤 컴퓨터에 로컬 관리자 계정이 활성화되어 있는지 어떻게 알 수 있습니까? 보안 컨설턴트의 요청에 따라 우리는 네트워크에 있는 300개 이상의 노트북/데스크톱 모두에서 모든 로컬 관리자 계정을 알아야 하고 가능하다면 비활성화해야 하기 때문입니다.
문제를 해결하는 net use
또는 명령이 있습니까 ? wmi
네트워크의 모든 컴퓨터에 재귀적으로 요청하도록 설정할 수 있습니까? 도움이 된다면 도메인 컨트롤러가 있지만 컴퓨터가 도메인에 가입되지 않은 그룹은 항상 몇 개 있습니다.
답변1
여기에 몇 가지 문제가 있습니다.
- 도메인에 가입되지 않은 컴퓨터에는 다음이 있어야 합니다.안관리자라는 이름의 계정이 아니더라도 관리자 계정이 활성화되어 있습니다.
- 도메인에 가입되지 않은 컴퓨터에서는 쿼리를 실행하려면 계정이 필요합니다.
- 일반적으로 컴퓨터가 온라인일 때만 쿼리를 실행할 수 있으므로 정기적으로 실행되도록 쿼리를 예약해야 하며, 심지어 PC가 온라인 상태일 것이라고 보장할 수 없기 때문에 쿼리를 모두 가져오도록 보장할 수 없습니다. 해당 기간에 쿼리를 실행합니다.
그러고보니
Windows 10 PC에서는 다음을 실행하여 관리자라는 계정을 얻고 활성화되어 있는지 여부를 확인할 수 있습니다.
Get-LocalUser -Name Administrator | Select-Object Name, Enabled
다음과 같은 스크립트에서 이 명령을 사용하여 컴퓨터의 상태를 가져올 수 있습니다.
[pscustomobject]@{
Computername = $env:Computername
AdminEnabled = Get-LocalUser -Name "Administrator" | Select-Object -ExpandProperty Enabled
} | Export-CSV -Path "\\a\share\where\you\can\put\this\$($env:Computername).csv"
그런 다음 위 명령을 도메인의 시작 스크립트로 실행할 수 있습니다(공유 폴더는 "도메인 컴퓨터" 그룹에 대해 쓸 수 있어야 함).
도메인 외부의 PC에서는 운이 좋지 않습니다. 여러 시스템에 원격으로 로그온할 수 있는 계정이 있는 경우 다음과 같이 사용할 수 있습니다.
$APSCredentialWhichHasTheRightsToDoThis = Get-Credential
Invoke-Command -Computername "RemotePC" -ScriptBlock {Get-LocalUser -Name "Administrator"} -Credential $APSCredentialWhichHasTheRightsToDoThis
원격 컴퓨터의 상태를 가져옵니다.