it-swarm.com.de

BAT-Datei, die dem Netzlaufwerk zugeordnet werden soll, ohne als Administrator auszuführen

Ich versuche, eine .bat-Datei zu erstellen, die beim Klicken auf ein Netzlaufwerk abgebildet wird (es wäre sogar noch besser, wenn beim Anmelden automatisch eine Verbindung hergestellt werden könnte, falls eine Verbindung zum Netzwerk besteht.

Was ich bisher habe, ist:

Net Use P: "\\server\foldername\foldername"

Gibt es eine Möglichkeit, die ich erstellen kann, damit die Benutzer nicht mit der rechten Maustaste klicken und als Administrator ausgeführt werden müssen? Ich würde es gerne haben, wenn sie einfach auf die .bat-Datei klicken könnten und sie für sie zuordnen würde.

9
Bhetzie

Ich habe es gerade herausgefunden! Was ich getan habe war, dass ich die Batchdatei so erstellt habe, wie ich sie ursprünglich hatte:

Net Use P: "\\server\foldername\foldername"

Ich habe es dann auf dem Desktop gespeichert und mit der rechten Maustaste auf die Eigenschaften geklickt und als Administrator ausgeführt. Ich kopierte die Datei dann unter C:\Benutzer\"TheUser"\AppData\Roaming\Microsoft\Windows\Startmenü\Programme\Startup

Wo "TheUser" der gewünschte Benutzer war, wollte ich ihn hinzufügen.

5
Bhetzie

Speichern Sie unten in einem test.bat und es funktioniert für Sie:

@echo off

Net Use Z: \\server\SharedFolderName password /user:domain\Username /persistent:yes

Das /persistent:yes-Flag weist den Computer an, diese Freigabe beim Anmelden automatisch wieder zu verbinden. Andernfalls müssen Sie das Skript während jedes Startvorgangs erneut ausführen, um das Laufwerk zuzuordnen.

Zum Beispiel:

Net Use Z: \\WindowsServer123\g$ [email protected] /user:Mynetdomain\Sysadmin /persistent:yes
20
Sunny
@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%
1
Henry

Ich habe versucht, einen zugeordneten Netzwerktreiber über 'Net Use' mit Administratorrechten zu erstellen, schlug aber fehl, es wird nicht angezeigt. Und wenn ich es über die Benutzeroberfläche hinzufüge, verschwand es nach dem Neustart, jetzt habe ich das über Powershell gemacht .. Also, ich denke, Sie können Powershell-Skripts von einer .bat-Datei ausführen, und das Skript ist

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

fügen Sie -persist hinzu. Am Ende erstellen Sie ein permanentes zugeordnetes Netzlaufwerk

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

weitere Informationen finden Sie unter New-PSDrive - Microsoft Docs

0
guanyuan he

Dieser VBS-Code erstellt eine BAT-Datei mit den aktuell zugeordneten Netzlaufwerken. Legen Sie dann einfach die erstellte Datei in den Computer, auf dem Sie die Zuordnungen neu erstellen möchten, und doppelklicken Sie darauf. Es wird versucht, alle Zuordnungen mit denselben Laufwerksbuchstaben zu erstellen (Fehler können auftreten, wenn ein Buchstabe verwendet wird). Diese Methode kann auch als Sicherung der aktuellen Zuordnungen verwendet werden. Speichern Sie den folgenden Code als VBS-Datei (z. B. Mappings.vbs) und doppelklicken Sie darauf.

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