File BAT per mappare unità di rete senza eseguire come admin

Sto cercando di creare un .file bat, che si mappa un’unità di rete quando viene cliccato (sarebbe ancora meglio se si potesse collegare automaticamente al login se collegato alla rete, altrimenti non collegare)

Ciò che ho finora è:

net use P: "\\server\foldername\foldername"

C’è un modo che posso creare questo modo gli utenti non dovranno fare clic destro e esegui come amministratore? Mi sarebbe piaciuto se fossero riusciti a fare clic su .file bat e la mappa per loro.

Sono i computer in un dominio?
Sì, il computer a un dominio
Che dovrebbe funzionare così com’è. Perché ricordare la necessità di eseguire come amministratore?

InformationsquelleAutor Bhetzie | 2014-05-08

5 Replies
  1. 20

    Salvare sotto in un test.bat e lavorerò per voi:

    @echo off
    
    net use Z: \\server\SharedFolderName password /user:domain\Username /persistent:yes
    

    /persistent:yes bandiera per dire al computer di riconnettersi automaticamente questa condivisione di accesso. In caso contrario, è necessario eseguire nuovamente lo script durante ogni avvio di mappare l’unità.

    Per Esempio:

    net use Z: \\WindowsServer123\g$ [email protected] /user:Mynetdomain\Sysadmin /persistent:yes
    
    Avrei bisogno di salvare il file nella cartella utenti di accedere a file (se è così sapete dove si trova?) e quando aggiunge :utente:dominio\nome utente posso tenerlo così o sostituire con il nostro dominio e il nome utente? Grazie per l’aiuto!
    Si può mettere questo test.bat file ovunque si desidera e SÌ, è necessario sostituire domain\Username con il rispettivo dominio e nome utente. Ho aggiunto un esempio di una risposta per il vostro riferimento.
    È che la password dell’utente o la password di rete?
    Che il password per Username fornito.Significa che il password che si utilizza per accedere al sistema remoto con il Username.
    Ok, ho provato con le informazioni corrette; tuttavia, non mappare l’unità. L’unica cosa che funziona è quello che avevo in origine se eseguire il file batch come admin

    InformationsquelleAutor Sunny

  2. 5

    Ho appena capito! Cosa che ho fatto è stato ho creato il file batch come l’ho avuto in origine:

    net use P: "\\server\foldername\foldername"
    

    Ho quindi salvato sul desktop e destro cliccato su proprietà e controllato esegui come amministratore. Poi ho copiato il file C:\Users\”TheUser”\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

    Dove “TheUser” è stato l’utente desiderato volevo aggiungere.

    Si può accettare la tua risposta (come questo).

    InformationsquelleAutor Bhetzie

  3. 2
    @echo off
    net use z: /delete
    cmdkey /add:servername /user:userserver /pass:userstrongpass
    
    net use z: \\servername\userserver /savecred /persistent:yes
    set SCRIPT="%TEMP%\%RANDOM%-%RANDOM%-%RANDOM%-%RANDOM%.vbs"
    
    echo Set oWS = WScript.CreateObject("WScript.Shell") >> %SCRIPT%
    echo sLinkFile = "%USERPROFILE%\Desktop\userserver_in_server.lnk" >> %SCRIPT%
    echo Set oLink = oWS.CreateShortcut(sLinkFile) >> %SCRIPT%
    echo oLink.TargetPath = "Z:\" >> %SCRIPT%
    echo oLink.Save >> %SCRIPT%
    
    cscript /nologo %SCRIPT%
    del %SCRIPT%
    
    Benvenuti a Stack Overflow. Si prega di prendere 2 minuti tour. Inoltre, centro e leggere almeno Risposta. Per saperne di più, Giù di Voto “codice” risposte?.
    cmdkey comando è la pietra angolare quando ha a che fare con le cartelle condivise

    InformationsquelleAutor Henry

  4. 0

    Ho provato a creare una rete connessa driver tramite “net use” con privilegi di amministratore, ma non è riuscito, non mostra. E se posso aggiungere tramite interfaccia utente, che è scomparso dopo il riavvio, ora che ho fatto tramite powershell.
    Quindi, penso che si può eseguire script di powershell da una .bat file, e lo script è

    New-PSDrive -Name "P" -PSProvider "FileSystem" -Root "\\Server01\Public"

    aggiungere -persist alla fine, si viene a creare una persistente unità di rete mappata

    New-PSDrive -Name "P" -PSProvider "FileSystem" -Root "\\Server01\Scripts" -Persist

    per ulteriori dettagli, fare riferimento Nuovo-PSDrive – Microsoft Docs

    InformationsquelleAutor guanyuan he

  5. 0

    Questo .codice vbs crea un .file bat con la corrente di rete mappate.
    Quindi, basta mettere il file creato nella macchina che si desidera ri-creare il mapping e fare doppio clic su di esso. Si cercherà di creare tutti i mapping utilizzando le stesse lettere di unità (errori possono verificarsi se una lettera è in uso). Questo metodo può anche essere utilizzato come un backup dell’attuale mapping.
    Salvare il codice a soffietto come .file vbs (ad esempio di Mapping.vbs) e fare doppio clic su di esso.

    ' ********** My Code **********
    Set wshShell = CreateObject( "WScript.Shell" )
    
    ' ********** Get ComputerName
    strComputer = wshShell.ExpandEnvironmentStrings( "%COMPUTERNAME%" )
    
    ' ********** Get Domain 
    sUserDomain = createobject("wscript.network").UserDomain
    
    Set Connect = GetObject("winmgmts://"&strComputer)
    Set WshNetwork = WScript.CreateObject("WScript.Network")
    Set oDrives = WshNetwork.EnumNetworkDrives
    Set oPrinters = WshNetwork.EnumPrinterConnections
    
    ' ********** Current Path
    sCurrentPath = CreateObject("Scripting.FileSystemObject").GetParentFolderName(WScript.ScriptFullName)
    
    ' ********** Blank the report message
    strMsg = ""
    
    ' ********** Set objects 
    Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
    Set objWbem = GetObject("winmgmts:")
    Set objRegistry = GetObject("winmgmts://" & strComputer & "/root/default:StdRegProv")
    
    ' ********** Get UserName
    sUser = CreateObject("WScript.Network").UserName
    
    ' ********** Print user and computer
    'strMsg = strMsg & "    User: " & sUser & VbCrLf
    'strMsg = strMsg & "Computer: " & strComputer & VbCrLf & VbCrLf
    
    strMsg = strMsg & "###  COPIED FROM " & strComputer & " ###" & VbCrLf& VbCrLf
    strMsg = strMsg & "@echo off" & vbCrLf
    
    For i = 0 to oDrives.Count - 1 Step 2
        strMsg = strMsg & "net use " & oDrives.Item(i) & " " & oDrives.Item(i+1) & " /user:" & sUserDomain & "\" & sUser & " /persistent:yes" & VbCrLf
    Next
    strMsg = strMsg & ":exit" & VbCrLf
    strMsg = strMsg & "@pause" & VbCrLf
    
    ' ********** write the file to disk.
    strDirectory = sCurrentPath 
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    If objFSO.FolderExists(strDirectory) Then
        ' Procede
    Else
        Set objFolder = objFSO.CreateFolder(strDirectory)
    End if
    
    ' ********** Calculate date serial for filename **********
    intMonth = month(now)
    if intMonth < 10 then
        strThisMonth = "0" & intMonth
    else
        strThisMonth = intMOnth
    end if
    intDay = Day(now)
    if intDay < 10 then
        strThisDay = "0" & intDay
    else
        strThisDay = intDay
    end if
    strFilenameDateSerial = year(now) & strThisMonth & strThisDay
        sFileName = strDirectory & "\" & strComputer & "_" & sUser & "_MappedDrives" & "_" & strFilenameDateSerial & ".bat"
        Set objFile = objFSO.CreateTextFile(sFileName,True) 
    objFile.Write strMsg & vbCrLf
    
    ' ********** Ask to view file
    strFinish = "End: A .bat was generated. " & VbCrLf & "Copy the generated file  (" & sFileName & ")  into the machine where you want to recreate the mappings and double-click it." & VbCrLf & VbCrLf 
    MsgBox(strFinish)
    

    InformationsquelleAutor Airton J. Colombini

Lascia un commento