vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: Besitzer/Owner eines Ordners rekursiv ändern Code Teil 2 
Autor: Coolzero
Datum: 08.11.13 15:33

Und hier der Rest ...

	' Enums erleichtern das setzten von Vererbungen
	Public Enum NTFSInherit
		SubFoldersAndFiles
		ThisFolderSubFoldersAndFiles
		ThisFolderAndSubFolders
		SubFoldersOnly
		ThisFolderAndFiles
		FilesOnly
		ThisFolderOnly
	End Enum
 
	'''''' <summary>
	'''''' Setzt NTFS Berechtigung auf den Übergeben Orderpfad
	'''''' </summary>
	'''''' <param name="sFolderPath">Pfad zum Ordner (Bsp.: C:\Mein\Ordner)</param>
	'''''' <param name="sNameAccount">Der Benutzername der in die Berechtigung _
  geschrieben werden soll (Bsp.: Administrator oder UPNName von einer Active _
  Directory Domäme MaxMustert@Test.com)</param>
	'''''' <param name="niNTFSInherit">Ob und wie Vererbt werden soll (Enum _
Werte)</param>
	'''''' <param name="fsrPermissions">Die Berechtigungen die gesetzt werden _
sollen. Mit OR trennen für mehrere</param>
	'''''' <param name="actAccess">Allow oder Deny. Zulassen oder Verweigern</param>
	'''''' <remarks></remarks>
	Public Sub SetNTFSPermissions(ByVal sPath As String, ByVal sNameAccount As _
  String, ByVal niNTFSInherit As NTFSInherit, ByVal fsrPermissions As _
  FileSystemRights, ByVal actAccess As AccessControlType)
		Try
			Dim dInfo As New DirectoryInfo(sPath)
			Dim dSecurity As DirectorySecurity = dInfo.GetAccessControl()
			Dim sid As SecurityIdentifier = WindowsIdentity.GetCurrent().User
			Dim myrules As Object
			myrules = dSecurity.GetAccessRules(True, True, GetType( _
  Security.Principal.NTAccount))
			Dim iFlag As New InheritanceFlags
			Dim iProg As New PropagationFlags
 
			If niNTFSInherit = NTFSInherit.SubFoldersAndFiles Then
				iFlag = InheritanceFlags.ContainerInherit Or InheritanceFlags.ObjectInherit
				iProg = PropagationFlags.InheritOnly
			ElseIf niNTFSInherit = NTFSInherit.SubFoldersOnly Then
				iFlag = InheritanceFlags.ContainerInherit
				iProg = PropagationFlags.InheritOnly
			ElseIf niNTFSInherit = NTFSInherit.ThisFolderAndFiles Then
				iFlag = InheritanceFlags.ObjectInherit
				iProg = PropagationFlags.None
			ElseIf niNTFSInherit = NTFSInherit.ThisFolderAndSubFolders Then
				iFlag = InheritanceFlags.ContainerInherit
				iProg = PropagationFlags.None
			ElseIf niNTFSInherit = NTFSInherit.ThisFolderSubFoldersAndFiles Then
				iFlag = InheritanceFlags.ContainerInherit Or InheritanceFlags.ObjectInherit
				iProg = PropagationFlags.None
			ElseIf niNTFSInherit = NTFSInherit.FilesOnly Then
				iFlag = InheritanceFlags.ObjectInherit
				iProg = PropagationFlags.InheritOnly
			ElseIf niNTFSInherit = NTFSInherit.ThisFolderOnly Then
				iFlag = InheritanceFlags.None
				iProg = PropagationFlags.None
			End If
			Dim AccessRule As New FileSystemAccessRule(sNameAccount, fsrPermissions, _
  iFlag, iProg, actAccess)
			dSecurity.ModifyAccessRule(AccessControlModification.Add, AccessRule, True)
			dInfo.SetAccessControl(dSecurity)
		Catch ex As Exception
			MsgBox(ex.ToString)
		End Try
	End Sub
 
End Module

http://coolzero.aucb.de

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Besitzer/Owner eines Ordners rekursiv ändern2.686Coolzero08.11.13 14:12
Re: Besitzer/Owner eines Ordners rekursiv ändern2.107Coolzero08.11.13 15:33
Re: Besitzer/Owner eines Ordners rekursiv ändern Code Teil 21.802Coolzero08.11.13 15:33

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel