Windows 네트워크 공유 및 모든 사용자 정의 권한을 열거합니다.
-
02-07-2019 - |
문제
우리는 많은 디렉터리를 공유하는 다양한 서버를 보유하고 있습니다."최상위" 공유가 무엇인지 확인하기 위해 공유 브라우저를 보는 것은 쉽지만 그 아래에는 사용자 정의 권한이 뒤죽박죽되어 있으며 그 중 어느 것도 문서화되어 있지 않습니다.
도메인의 모든 공유(확실히 모든 '서버', 로컬 PC가 좋을 것임)를 열거한 다음 각 공유를 반복하여 상위 항목과의 편차를 보고하고 싶습니다.자녀에게 동일한 권한이 있는 경우 이를 다시 보고할 필요가 없습니다.
저는 큰 C# 앱을 작성하는 것보다 간단한 스크립트 방식의 솔루션을 선호하지만 작동하는 모든 방법이 가능합니다(기존 소프트웨어도 포함).
예를 들어, 나는 다음을 얻고 싶습니다:
SERVER1\
\-- C: (EVERYONE: Total control, ADMINs, etc. etc.)
\-- (skip anything that is not the same as above)
\-- SuperSecretStuff (Everyone: NO access; Bob: Read access)
SERVER2\
\-- Stuff (some people)
등.
해결책
스크립팅이 아니라는 건 알지만 ShareEnum을 사용해 보셨나요? http://technet.microsoft.com/en-us/sysinternals/bb897442.aspx 그런 다음 내보내나요?이전 실행과 비교할 수도 있습니다.나는 cmd 라인 인터페이스가 있다고 생각하지 않지만 (정말 짜증나지만) 필요한 정보를 얻을 수 있습니다.
다른 팁
이 Powershell 스크립트 당신의 목표를 달성합니다.
명시된 바와 같이 :
이 작은 스크립트는 컴퓨터의 모든 공유를 열거하고 각 공유에 대한 공유 수준 권한을 나열합니다.WMI를 사용하여 공유를 검색하고 권한을 나열합니다.
이 스크립트에는 NTFS 권한이 아닌 공유 수준 권한이 나열되어 있습니다.
여러 대의 컴퓨터를 입력, 단일 IP로 허용하거나 로컬 시스템에서 실행하는 것을 허용합니다.
.EXAMPLE
C:\PS> .\Get-SharePermissions # Operates against local computer.
.EXAMPLE
C:\PS> 'computerName' | .\Get-SharePermissions
.EXAMPLE
C:\PS> Get-Content 'computerlist.txt' | .\Get-SharePermissions | Out-File 'SharePermissions.txt'