Avatar billede brock Nybegynder
18. februar 2003 - 15:24 Der er 9 kommentarer og
1 løsning

Tilføje bruger / ændrer bruges rettigheder på mappe

Hvordan kan jeg I VB oprette en
1) mappe
2) tilføje user
3) ændre users privilegerer på denne mappe.

med venlig hilsen

Brock
Avatar billede tubber Juniormester
18. februar 2003 - 16:11 #1
Jeg har et open source prog som kan en del af det du vil :O)
Men det kan i hvert fald deet med at oprette brugere....

Er ikke sikker på det kan det hele, har du en mailaddy så kan jeg da maile det.....

Jeg har også koden til at blive authet af domain controlleren....
Bare hvis det har interesse.....

/Tubber
Avatar billede brock Nybegynder
18. februar 2003 - 17:33 #2
Det lyder spændende, da jeg skrev tilføje user mente jeg selvfølgelig tilføj bruger til mappen.

det er primært tilføje bruger i mappens security samt dennes rettigheder, som har min interesse.

mvh
Brock
e-mail: poke1024@hotmail.com
Avatar billede kedde65 Praktikant
18. februar 2003 - 17:38 #3
Du kan selvfølgelig oprette mapper via. Visual Basic. Der bruger du FileSystem Object. Jeg kan give dig et eksempel på hvordan det gøres.

Hvis du skal ændre brugerrettigheder, så er løsningen at bruge Windows2000 Ressourcekit, men det kræver at det er installeret på alle de maskiner hvor programmet skal køre.

VH C
Avatar billede brock Nybegynder
18. februar 2003 - 19:12 #4
Hej kedde65

jeg kan lige nu tricket i form

Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Private Const SW_SHOWNORMAL = 1

Private Sub NewUser(strPath As String, strUser As String)
  Open App.Path & "\temp.bat" For Output As #1
  Print #1, "echo y|cacls " & strPath & " /E /G " & strUser & ":F"
  Close #1
  ShellExecute Me.hWnd, "Open", App.Path & "\temp.bat", "", "", 0
End Sub

---

tricket er jeg vil gerne lave en .dll fil, hvor jeg i ex. asp bare kan kalde public functionen, som så udfører den på serveren. (jeg er noget grøn i vb endnu, men prøver at komme efter det) -

når jeg benytter - NewUser "d:\hej", "everyone" - i en function, tilføjer den brugeren, som jeg ønsker det. Men når jeg opretter en ActiveX dll fil kager den og siger at hwnd er en ukendt data / method.

mvh

brock
Avatar billede kedde65 Praktikant
18. februar 2003 - 19:18 #5
Du må gerne sende dit dll projekt til mig så kan jeg kigge det igennem.

ck@targetgruppen.dk
Avatar billede kedde65 Praktikant
18. februar 2003 - 19:41 #6
Og løsningen er:

Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Private Const SW_SHOWNORMAL = 1

Public Sub NewUser(strPath As String, strUser As String)
  Open App.Path & "\temp.bat" For Output As #1
  Print #1, "echo y|cacls " & strPath & " /E /G " & strUser & ":F"
  Close #1
  Shell App.Path & "\temp.bat"
  'ShellExecute setthis, "Open", App.Path & "\temp.bat", "", "", 0
End Sub


Private Sub Class_Initialize()
    NewUser "d:\test", "everyone"
End Sub


Brug shell istedet for shellexecute, da du ikke har en Me.hWnd det er kun formularer der har det.

VH CK
Avatar billede brock Nybegynder
18. februar 2003 - 20:04 #7
hej kedde65. Tak for dit hurtige svar.

Jeg kan dog ikke få løsningen til at virke. Der bliver ikke tilføjet everyone i testfolderen.

jeg forsøgte lige med

Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Private Const SW_SHOWNORMAL = 1

Public Sub NewUser(strPath As String, strUser As String)
  Open App.Path & "\temp.bat" For Output As #1
  Print #1, "echo y|cacls " & strPath & " /E /G " & strUser & ":F"
  Close #1
  Shell App.Path & "\temp.bat"
  'ShellExecute setthis, "Open", App.Path & "\temp.bat", "", "", 0
End Sub


Public Function test()
NewUser "d:\test", "everyone"
test = "jepper"
End Function

--

og kaldte den funktionen, som svarede jepper tilbage, men oprettelsen udeblev

mvh brock
Avatar billede kedde65 Praktikant
19. februar 2003 - 00:37 #8
Kan du se om bat filen bliver oprettet på serveren?

VH CK
Avatar billede brock Nybegynder
19. februar 2003 - 09:25 #9
Bat filen bliver oprettet, det er den "skjulte" afvikling der udebliver

mvh
Brock
Avatar billede brock Nybegynder
19. april 2003 - 18:30 #10
luk
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester