BAT-bestand naar kaart naar netwerkstation zonder als admin te gebruiken

Ik probeer een .bat-bestand te maken dat naar een netwerkstation staat wanneer er wordt geklikt (het zou nog beter zijn als het automatisch kan verbinden met inloggen als het op het netwerk is aangesloten, anders verbinden)

Wat ik tot nu toe heb, is:

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

Is er een manier waarop ik dit kan maken, zodat de gebruikers niet moeten klikken en uitvoeren als beheerder? Ik zou het leuk vinden als ze gewoon op het bestand -bat-bestand konden klikken en het zal voor hen in kaart brengen.


Antwoord 1, Autoriteit 100%

hieronder opslaan in een test.baten het zal voor u werken:

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

/persistent:yesFlag zal de computer vertellen om dit aanmelding automatisch opnieuw aan te sluiten. Anders moet u tijdens elke opstart opnieuw het script uitvoeren om de drive in kaart te brengen.

Bijvoorbeeld:

net use Z: \\WindowsServer123\g$ [email protected] /user:Mynetdomain\Sysadmin /persistent:yes

Antwoord 2, Autoriteit 46%

Ik heb het net bedacht! Wat ik deed, heb ik het batchbestand gemaakt zoals ik het oorspronkelijk had:

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

Ik heb het vervolgens opgeslagen op het bureaublad en klik met de rechtermuisknop op de eigenschappen en het aangevinkt als beheerder. Ik heb vervolgens het bestand gekopieerd naar C: \ gebruikers \ “Theuser” \ appdata \ roaming \ Microsoft \ Windows \ Start Menu \ Programma’s \ StartUp

Waar “Theuser” de gewenste gebruiker was waar ik het toe wilde toevoegen.


Antwoord 3, Autoriteit 8%

@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%

Antwoord 4, autoriteit 4%

Deze .vbs-code maakt een .bat-bestand met de huidige toegewezen netwerkstations.
Plaats vervolgens het gemaakte bestand in de machine waarop u de toewijzingen opnieuw wilt maken en dubbelklik erop. Het zal proberen alle toewijzingen te maken met dezelfde stationsletters (er kunnen fouten optreden als een letter in gebruik is). Deze methode kan ook worden gebruikt als een back-up van de huidige toewijzingen.
Sla de onderstaande code op als een .vbs-bestand (bijvoorbeeld Mappings.vbs) en dubbelklik erop.

' ********** 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)


Antwoord 5

Ik heb geprobeerd een toegewezen netwerkstuurprogramma te maken via ‘net use’ met beheerdersrechten, maar dat is niet gelukt, het wordt niet weergegeven. En als ik het via de gebruikersinterface toevoeg, verdween het na opnieuw opstarten, nu heb ik dat via powershell gemaakt.
Dus ik denk dat je powershell-scripts kunt uitvoeren vanuit een .bat-bestand, en het script is

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

voeg aan het einde -persisttoe, u maakt een persistent toegewezen netwerkstation

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

raadpleeg voor meer details Nieuwe PSDrive – Microsoft Docs

Other episodes