Zugewiese Laufwerke Namen ändern
Hallo liebe Admin-Kollegen,
ich habe folgende Herrausforderung:
Wir weisen unseren Benutzern Netzlaufwerke per Skrip zu (logon.cmd).
Das klappt auch wunderbar, nur die Laufwerke die Zugewiesen werden haben dann alle einen furchtbar langen Namen (bedingt durch die Servernamen) z.B. servername.domain.local\netzadresse\unterordner( P: )
Kann ich nicht irgendwie im Skript sagen, dass man das zugewiese Laufwerk gleich unbenennt in z.B. Abteilung ( P: )??
Gruß und Danke
ich habe folgende Herrausforderung:
Wir weisen unseren Benutzern Netzlaufwerke per Skrip zu (logon.cmd).
Das klappt auch wunderbar, nur die Laufwerke die Zugewiesen werden haben dann alle einen furchtbar langen Namen (bedingt durch die Servernamen) z.B. servername.domain.local\netzadresse\unterordner( P: )
Kann ich nicht irgendwie im Skript sagen, dass man das zugewiese Laufwerk gleich unbenennt in z.B. Abteilung ( P: )??
Gruß und Danke
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 68590
Url: https://administrator.de/contentid/68590
Ausgedruckt am: 20.11.2024 um 12:11 Uhr
25 Kommentare
Neuester Kommentar
Hi joerg,
da wirst du wohl VBScript zu Hilfe nehmen müssen. Wir haben folgendes Miniscript "umbenennen.vbs" auf "NETLOGON" liegen:
Dabei gibt es 2 Übergabeparameter:
Der Aufruf aus der "logon.bat" sieht dann so aus:
Grüße
Dani
da wirst du wohl VBScript zu Hilfe nehmen müssen. Wir haben folgendes Miniscript "umbenennen.vbs" auf "NETLOGON" liegen:
'Variable
Dim objShell, objArgs
Dim strDriveLetter, strNewName
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Zuweisungen
Set objArgs = WScript.Arguments
strDriveLetter = objArgs(0)
strNewName = objArgs(1)
'Umbenennen des Netzlaufwerks
Set objShell = CreateObject("Shell.Application")
objShell.NameSpace(strDriveLetter &":").Self.Name = strNewName
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Beenden
WScript.Quit
- Laufwerksbuchstabe
- Neuer Name
Der Aufruf aus der "logon.bat" sieht dann so aus:
....
cscript "\\server\netlogon\umbenennen.vbs" G Test
..
Grüße
Dani
Ja gut...Schönheitskorrektur. Aber ich finde das praktisch, wenn ein User eine Störung meldet. Somit muss ich den User nicht durch ~zig Menüs führen sondern er kann mir mit 3 Klicks sagen, wie der Drucker heißt. Aber gut...
Darüber habe ich / wir uns hier noch einen Kopf gemacht. Also wenn das einen stört, hat er keine anderen Probleme im Netz. *g*
Grüße
Dani
Darüber habe ich / wir uns hier noch einen Kopf gemacht. Also wenn das einen stört, hat er keine anderen Probleme im Netz. *g*
Grüße
Dani
Hi Jörg,
warum überhaupt dynamisch?? Macht doch gar keinen Sinn. Stell dir mal vor der Mitarbeiter meldet sich wo anders an. Auf einmal ist U:, X:, Y: vertauscht. Oder aber eine Anwendung greift auf ein Netzlaufwerk zu. Ups, auf einmal ist es nicht mehr W: sondern V:.....
Aber gut, du musst dazu ein paar Batchzeilen mehr einbauen:
In %%a steht direkt der Laufwerksbuchstabe (z.B. "E:") drin.
Grüße
Dani
warum überhaupt dynamisch?? Macht doch gar keinen Sinn. Stell dir mal vor der Mitarbeiter meldet sich wo anders an. Auf einmal ist U:, X:, Y: vertauscht. Oder aber eine Anwendung greift auf ein Netzlaufwerk zu. Ups, auf einmal ist es nicht mehr W: sondern V:.....
Aber gut, du musst dazu ein paar Batchzeilen mehr einbauen:
for /f "tokens=2 delims= " %%a in ('net use | findstr /i "freigabe"') do echo %%a
Grüße
Dani
Abend,
so ich habe nun die Lösung. Ich habe es diesmal ausführlich getestet. *g*
Umbennen.vbs:
Batch:
[Getestet und läuft, läuft und läuft...
Grüße
Dani
so ich habe nun die Lösung. Ich habe es diesmal ausführlich getestet. *g*
Umbennen.vbs:
'Variable
Dim objShell, objArgs
Dim strDriveLetter, strNewName
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Zuweisungen
Set objArgs = WScript.Arguments
strDriveLetter = Trim(objArgs(0))
strNewName = objArgs(1)
'Umbenennen des Netzlaufwerks
Set objShell = CreateObject("Shell.Application")
objShell.NameSpace(strDriveLetter &":").Self.Name = strNewName
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Beenden
WScript.Quit
Batch:
@echo off
net use * "\\s-hw01\sysvol"
for /f "tokens=2 delims=: " %%a in ('net use ^| findstr /i "\\s-hw01\sysvol"') do set lwsb=%%a
cscript "Umbennen.vbs" %lwsb% "Name"
Grüße
Dani
Hallo joerg,
das verstehe ich nicht...ich habe bei uns einen Subnetz die Laufwerke aus einer Textdatei herausverbinden lassen und auch entsprechend unbenennen lassen. Funktioniert....
Lass bitte mal die CODE - Hosen runter. Poste uns einfach mal die einzelene Scripte. Sonst wird's eher ein Ratespiel. *g*
Grüße
Dani
das verstehe ich nicht...ich habe bei uns einen Subnetz die Laufwerke aus einer Textdatei herausverbinden lassen und auch entsprechend unbenennen lassen. Funktioniert....
Lass bitte mal die CODE - Hosen runter. Poste uns einfach mal die einzelene Scripte. Sonst wird's eher ein Ratespiel. *g*
Grüße
Dani