elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Error Access Control Windows 7
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Error Access Control Windows 7  (Leído 2,411 veces)
Keyen Night


Desconectado Desconectado

Mensajes: 496


Nothing


Ver Perfil
Error Access Control Windows 7
« en: 22 Febrero 2011, 02:11 am »

Tengo el siguiente codigo Set de una propiedad que escribi hace tiempo para Windows XP pero no funciona en Windows 7, debe ser por la cantidad de filtros de seguridad que tiene Windows 7.

Código
  1.   Set(ByVal value As Boolean)
  2.  
  3.            Dim _
  4. AccessDirInfo As New DirectoryInfo(Objeto), _
  5. AccessInfo As DirectorySecurity = AccessDirInfo.GetAccessControl
  6.  
  7.            Dim I_S As New List(Of IdentityReference)
  8.  
  9.            For Each x As String In Users()
  10.                I_S.Add(New NTAccount(x))
  11.            Next
  12.  
  13.            For Each I As IdentityReference In I_S
  14.  
  15.                AccessInfo.PurgeAccessRules(I)
  16.                AccessDirInfo.SetAccessControl(AccessInfo) ''ERROR: Intento de realizar una operación no válida.''
  17.  
  18.                If Not value Then
  19.                    AccessInfo.SetAccessRule(New FileSystemAccessRule(I, FileSystemRights.FullControl, AccessControlType.Allow))
  20.                    AccessDirInfo.SetAccessControl(AccessInfo)
  21.                End If
  22.  
  23.            Next
  24.  
  25.            I_S.Clear()
  26.  
  27.        End Set

Donde esta el comentario es la linea del error y el mensaje que lanza, alguien sabe cual es el problema o la manera de solucionarlo. Estoy en Windows 7.


En línea

La Fé Mueve Montañas...
                                    ...De Dinero

La programación es más que un trabajo es más que un hobby es una pasión...
.mokk.

Desconectado Desconectado

Mensajes: 177



Ver Perfil
Re: Error Access Control Windows 7
« Respuesta #1 en: 22 Febrero 2011, 02:40 am »

Intentastes configurando el manifest para que requiera ser administrador ?


En línea

Keyen Night


Desconectado Desconectado

Mensajes: 496


Nothing


Ver Perfil
Re: Error Access Control Windows 7
« Respuesta #2 en: 22 Febrero 2011, 02:59 am »

Despues de declarar requireAdministrator no daba el error pero no pasaba nada. Entonces cambie el codigo así, y funciono perfecto (a por cierto el codigo sirve para denegar y dar permisos a todos los usuarios en el Equipo), la parte Get de la propiedad esta en construcción :silbar:

Código
  1.  
  2.  
  3.    Public Function Users() As List(Of String)
  4.  
  5.        Users = New List(Of String)
  6.  
  7.        Try
  8.            Dim x As DirectoryEntry = New DirectoryEntry("WinNT://" + Environment.MachineName)
  9.            Dim y As DirectoryEntry = x.Children.Find("Administradores", "group")
  10.            Dim z As Object = y.Invoke("members", Nothing)
  11.            For Each i As Object In CType(z, IEnumerable)
  12.                Users.Add(New DirectoryEntry(i).Name)
  13.            Next
  14.        Catch ex As Exception
  15.            Return Nothing
  16.        End Try
  17.  
  18.    End Function
  19.  
  20. Set(ByVal value As Boolean)
  21.  
  22.            Dim _
  23. AccessDirInfo As New DirectoryInfo(Objeto), _
  24. AccessInfo As DirectorySecurity = AccessDirInfo.GetAccessControl
  25.  
  26.            Dim I_S As New List(Of IdentityReference)
  27.  
  28.            For Each x As String In Users()
  29.                I_S.Add(New NTAccount(Environment.UserDomainName & "\" & x))
  30.            Next
  31.  
  32.            For Each I As IdentityReference In I_S
  33.  
  34.                AccessInfo.PurgeAccessRules(I)
  35.                AccessDirInfo.SetAccessControl(AccessInfo)
  36.  
  37.                If Not value Then
  38.                    AccessInfo.SetAccessRule(New FileSystemAccessRule(I, FileSystemRights.FullControl, AccessControlType.Allow))
  39.                Else
  40.                    AccessInfo.SetAccessRule(New FileSystemAccessRule(I, FileSystemRights.FullControl, AccessControlType.Deny))
  41.                End If
  42.  
  43.                AccessDirInfo.SetAccessControl(AccessInfo)
  44.  
  45.            Next
  46.  
  47.            I_S.Clear()
  48.  
  49.        End Set

Gracias.
« Última modificación: 22 Febrero 2011, 03:01 am por Keyen Night » En línea

La Fé Mueve Montañas...
                                    ...De Dinero

La programación es más que un trabajo es más que un hobby es una pasión...
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
¿Codigo para alta a registros en una BD de Access o Excel desde un control data?
Programación Visual Basic
El_chapulin 1 4,336 Último mensaje 24 Octubre 2006, 22:32 pm
por CeLaYa
Fatal error: Cannot access empty property in...
PHP
Thaorius 2 4,311 Último mensaje 30 Diciembre 2006, 06:09 am
por Thaorius
Help: Kerio Control 7.4.2 error en Windows Server 2016
Software
Burnsides 0 3,153 Último mensaje 26 Enero 2018, 15:42 pm
por Burnsides
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines