Newsgroup: it.comp.os.win.win2000
Titolo: Errore 70, autorizzazione negata

Salve,
sto sviluppando (VB6) un piccolo programmino che mappi una risorsa di rete,
si connetta ad un database ed esegua una copia dei file indicati nel
database.
Per mappare la risorsa utilizzo:
'----------
Set WshNet = CreateObject("WScript.Network")
WshNet.MapNetworkDrive "Z:", percorsoDiRete, False, utente, password
'----------
dove utente è l'amministratore;
per la connessione al database non ci sono problemi;
mi si presenta l'errore in oggetto quando tento di copiare i file inseriti
nel database con FileSystemObject:
'----------
Set fso = CreateObject("Scripting.FileSystemObject")
fso.CopyFile "Z:\img\abcdefg.tif", "C:\documenti\temp"
'----------
Chiaramente agendo a manina (esplora risorse) funziona tutto. I due pc
hanno, uno Win2000pro (con la risorsa da mappare) e l'altro Win2000srv (con
la risorsa mappata).
Se avete qualche suggerimento...
Grazie.
--
Sergio MAZZA

 database.
Cime specifiche il nome utente?
Lo qualifichi correttamemnte nella forma NOMEDOMINO\utente
o NOMEMACCHINA\Utente?
Saluti.
PS: qui forse la questione è OT. Nel NG di VB (it.comp o microsoft.public)
forse è meglio.

 forse è meglio.
Ne avevo il sentore ma ho voluto osare non sapendo se era un problema di
permessi s.o. o programmazione script...
Ciao.
--
Sergio MAZZA

 non sono sotto dominio.
Appunto. Nel parametro Utente prova a metterci "NOMEMACCHINA\utente"
dove nomemacchina è il nome della macchina che condivide
la risorsa da mappare.
Saluti.

 Saluti.
Con:
WNet.MapNetworkDrive "Z:", "\\nomeMacchina\g$", False,
"nomeMacchina\administrator", "password"
WNet.MapNetworkDrive "Z:", \\nomeMacchina\nomeCartellaCondivisa, False,
"nomeMacchina\administrator", "password"
WNet.MapNetworkDrive "Z:", \\nomeMacchina\nomeCartellaCondivisa, False,
"administrator", "password"
Ottengo:
"Le credenziali fornite sono in conflitto con un set di credenziali
esistente"
'-------------
E non mi mappa la risorsa.
Con:
WNet.MapNetworkDrive "Z:", "\\nomeMacchina\g$", False,
"nomeMacchina\administrator", "password"
WNet.MapNetworkDrive "Z:", "\\nomeMacchina\g$", False,
"\\nomeMacchina\administrator", "password"
WNet.MapNetworkDrive "Z:", \\nomeMacchina\nomeCartellaCondivisa, False,
"\\nomeMacchina\administrator", "password"
Ottengo:
Nome utente specificato non valido
'-------------
E non mi mappa la risorsa.
Con:
WNet.MapNetworkDrive "Z:", "\\nomeMacchina\disco$", False, "administrator",
"password"
WNet.MapNetworkDrive "Z:", "\\nomeMacchina\nomeCartellaCondivisa", False,
"administrator", "password"
Ottengo:
Autorizzazione negata
'-------------
E mi mappa la risorsa.
Non so' che dire... Prova ad inviarmi il tuo codice di esempio...
Ciao.
--
Sergio MAZZA

 Non so' che dire... Prova ad inviarmi il tuo codice di esempio...
Questo funziona SEMPRE
Private Const ERROR_SUCCESS = 0
Private Const CONNECT_UPDATE_PROFILE = &H1
Private Const RESOURCETYPE_DISK = &H1
Private Const RESOURCETYPE_PRINT = &H2
Private Const RESOURCETYPE_ANY = &H0
Private Const RESOURCE_GLOBALNET = &H2
Private Const RESOURCEDISPLAYTYPE_SHARE = &H3
Private Const RESOURCEUSAGE_CONNECTABLE = &H1
Private Type NETRESOURCE
   dwScope       As Long
   dwType        As Long
   dwDisplayType As Long
   dwUsage       As Long
   lpLocalName   As String
   lpRemoteName  As String
   lpComment     As String
   lpProvider    As String
End Type
Private Declare Function WNetAddConnection2 Lib "mpr" _
    Alias "WNetAddConnection2A" _
   (lpNetResource As NETRESOURCE, _
    ByVal lpPassword As String, _
    ByVal lpUserName As String, _
    ByVal dwFlags As Long) As Long
Private Declare Function WNetCancelConnection2 Lib "mpr" _
    Alias "WNetCancelConnection2A" _
   (ByVal lpName As String, _
    ByVal dwFlags As Long, _
    ByVal fForce As Long) As Long
Private Declare Function WNetConnectionDialog Lib "mpr" _
   (ByVal hwnd As Long, ByVal dwType As Long) As Long
Private Declare Function WNetDisconnectDialog Lib "mpr" _
   (ByVal hwnd As Long, ByVal dwType As Long) As Long
Public Function ConnectThisNetworkDrive(sServer As String, _
                                         sDrv As String, ByVal UserName As
String, ByVal Password As String) As Boolean
  'attempts to connect to the passed network
  'connection to the specified drive.
  'ErrInfo=ERROR_SUCCESS if successful.
   Dim NETR As NETRESOURCE
   Dim errInfo As Long
   With NETR
      .dwScope = RESOURCE_GLOBALNET
      .dwType = RESOURCETYPE_DISK
      .dwDisplayType = RESOURCEDISPLAYTYPE_SHARE
      .dwUsage = RESOURCEUSAGE_CONNECTABLE
      .lpRemoteName = sServer
      .lpLocalName = sDrv
   End With
   errInfo = WNetAddConnection2(NETR, _
                                Password, _
                                UserName, _
                                CONNECT_UPDATE_PROFILE)
   ConnectThisNetworkDrive = errInfo '  = ERROR_SUCCESS
End Function


Cavolo! Giochi pesante!
Volevo evitare l'utilizzo delle api ma se non ho scampo...
Lo provo e ti faccio sapere; grazie.
Ciao.
--
Sergio MAZZA