Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    336

    [VB6]Permessi alle cartelle

    Ho creato un'applicazione che gira sul server ogni minuto e controlla da database gli iscritti e, nel caso non siano abilitati crea loro l'utente, la cartella e da' i permessi.

    Il codice del software è il seguente (il codice per la connessione/disconnessione dal database li ho in un modulo):


    Private Sub Form_Load()
    ConnessioneDB App.Path & "\db.mdb"
    sql = "select * from tabUtenti where abilitato=false"
    RS.Open sql, DB

    If Not RS.EOF Then
    RS.MoveFirst

    'Do While Not RS.EOF

    If RS("abilitato") = False Then
    Shell "CMD.exe /c net user " & RS("nome") & " " & RS("psw") & " /add", vbHide
    Shell "CMD.exe /c MD c:\webdir\ftp\" & RS("nome"), vbHide
    Shell "CMD.exe /c cacls c:\webdir\ftp\" & RS("nome") & " /G " & RS("nome") & ":F /E", vbHide
    Shell "CMD.exe /c cacls c:\webdir\ftp\" & RS("nome") & " /R USERS /E", vbHide

    If Not IsNull(RS("email")) Then
    inviaEmail "info@mail.it", RS("email"), "", "Abilitazione servizi", "Buon giorno, " & RS("nome") & "
    lei è stato abilitato all'utilizzo del servizio."
    End If
    sql2 = "UPDATE tabUtenti SET abilitato=true Where idUtente=" & RS("idUtente")
    DB.Execute sql2
    End If

    'RS.MoveNext

    'Loop
    End If

    Disconnessione

    End
    End Sub

    Function inviaEmail(DaEmail, AEmail, BccEmail, Oggetto, Body)

    Set eMail = New CDO.Message

    Set objConfig = CreateObject("cdo.configuration")
    Set Flds = objConfig.Fields
    Flds.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
    Flds.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "mail.libero.it"
    Flds.Update
    Set eMail.Configuration = objConfig


    If DaEmail = "" Then
    eMail.From = "-"
    Else
    eMail.From = DaEmail
    End If
    eMail.To = AEmail
    eMail.BCC = BccEmail
    eMail.Subject = Oggetto
    eMail.HTMLBody = Body
    eMail.Send
    Set eMail = Nothing

    End Function

    La cartella e l'utente li crea.
    I problemi nascono con l'assegnazione dei permessi alla cartella. A volte assegna il nuovo utente a volte no, come mai?

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Che versione di VB? Leggere il Regolamento...
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    336
    Dimenticato, sorry

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    336
    Nessuno sa niente?

    In alternativa, conoscete qualche script che crea utenti e cartelle con permessi direttamente da visual basic? Magari delle chiamate a delle api?

  5. #5
    potrebbe dipendere dal fatto che la Shell è asincrona;
    cioè le chiamate alla shell nel tuo codice si susseguono
    senza che la seconda attenda il completamento della prima.

    Per farla diventare sincrona
    cerca waithforsingleobject, getexitcodeprocess, createprocess, openprocess e
    api similari su msdn

    HTH sspintux

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    336
    Grande, ho risolto con GetExitCodeProcess!

    Se interessa a qualcun altro qui ho trovato un esempio che ho preso come spunto:

    http://vbnet.mvps.org/index.html?cod...itcprocess.htm

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.