$Users = get-aduser -filter * | Where-Object {$_.Name -like "user*"} | select -ExpandProperty SamAccountName
foreach ($User in $Users){
New-Item -Path E:\data -Name $User -ItemType "directory"
$DomUser = ('Domain Name\'+$User)
$ACL = Get-Acl -Path "E:\data\$User"
$Perms = $DomUser,'FullControl','ContainerInherit,ObjectInherit','None','Allow'
$Rule = New-Object -TypeName System.Security.AccessControl.FileSystemAccessRule -ArgumentList $Perms
$ACL.SetAccessRule($Rule)
$ACL | Set-Acl -Path "E:\data\$User"
New-SmbShare -Name $user$ -Path E:\data\$user
Grant-SmbShareAccess -Name $user$ -AccountName south\$user -AccessRight Full -Force
Revoke-SmbShareAccess -Name $user$ -AccountName Everyone -Force
}
이렇게 오래 걸릴 게 아니었는데 문자열 처리를 어떻게 해야하는지 잘 몰라서..
권한은 모두 Full Control 로 때려박았다.
문자열 좀 만지작 거리면 Read Only 같은 것도 되겄지..
+ 공유 설정까지 추가했다.
이름은 $넣어서 감추고 개별 AD사용자에게 Full 권한 부여,
Everyone 읽기 권한은 회수.
반응형
'Computer > Windows' 카테고리의 다른 글
Windows 10, Windows 11 바탕화면 아이콘 설정 (0) | 2025.01.24 |
---|---|
Windows Powershell - FSRM(파일서버 리소스 관리) Quota 설정 스크립트 (0) | 2025.01.23 |
Domain 내 VM의 Network가 Guest Network으로 연결됨 - Workstation 1075 종속성 서비스가 없거나 지워진 것으로 표시되었습니다 (0) | 2025.01.22 |
Windows 복구 파티션 삭제 (0) | 2025.01.22 |
파워쉘을 사용한 도메인 가입(Domain join) Powershell (0) | 2025.01.22 |