[.NET] Share permissions aanmaken

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • YellowOnline
  • Registratie: Januari 2005
  • Laatst online: 28-03-2023

YellowOnline

BEATI PAVPERES SPIRITV

Topicstarter
Eigenlijk werk ik in PoSh, maar aangezien dit op .NET steunt kan een echt .netter mij hier allicht mee helpen.

Ik heb een scriptje gemaakt dat een aantal schijven initialiseert, ze mount met een bepaald label op een bepaalde drive, mappen aanmaakt, NTFS permissies op die mappen verzorgt en tenslotte shares aanmaakt. Wat ontbreekt? Permissies aanmaken op de shares.

Alle bronnen op het internet komen neer op ofwel
1) NTFS permissies te gebruiken - maar dat is geen optie aangezien ik voor support vasthang aan het design zoals voorzien door Microsoft.
2) Aparte command line tools gebruiken - maar dit gaat om praktische redenen moeilijk. Zonder daar te diep op in te gaan: het script moet standalone werken zonder externe afhankelijkheden.

Wat betreft de documentatie: Microsoft: Create Method of the Win32_Share Class. Er is een parameter die ik kan toevoegen aan mij bestaande code
code:
1
2
3
4
5
6
    [IO.Directory]::CreateDirectory($FolderHome)
    $Acl = Get-Acl $FolderHome
    $AccessRule = New-Object  System.Security.AccessControl.FileSystemAccessRule("BUILTIN\Users","Traverse","Allow")
    $Acl.SetAccessRule($AccessRule)
    Set-Acl $FolderHome $Acl
    $Shares.Create($FolderHome,$($FolderHome.Split("\"))[1],0,,,,<HIER>)

(fragment)

Wat daar precies moet komen weet ik echter niet. De informatie van Win32_SecurityDescriptor gaat mijn petje te boven vrees ik :( Als iemand hier meer over weet hoor ik het graag.

Acties:
  • 0 Henk 'm!

  • Alex)
  • Registratie: Juni 2003
  • Laatst online: 21-08 11:20
YellowOnline schreef op donderdag 26 mei 2011 @ 15:07:

2) Aparte command line tools gebruiken - maar dit gaat om praktische redenen moeilijk. Zonder daar te diep op in te gaan: het script moet standalone werken zonder externe afhankelijkheden.
Met Windows wordt standaard een tooltje meegeleverd genaamd cacls.exe. Sinds Vista is dit deprecated en opgevolgd door icacls.exe. Hiermee kun je permissies zetten vanaf de command line.
Wat daar precies moet komen weet ik echter niet. De informatie van Win32_SecurityDescriptor gaat mijn petje te boven vrees ik :( Als iemand hier meer over weet hoor ik het graag.
Heb je hier wat aan? MSDN: Security Descriptor Definition Language (Windows)

We are shaping the future


Acties:
  • 0 Henk 'm!

  • YellowOnline
  • Registratie: Januari 2005
  • Laatst online: 28-03-2023

YellowOnline

BEATI PAVPERES SPIRITV

Topicstarter
Hmz, ik dacht dat icacls enkel voor NTFS permissies was. Ik ga me eens proberen inwerken in dat tooltje dan.