joerg
Goto Top

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

Content-ID: 68590

Url: https://administrator.de/contentid/68590

Ausgedruckt am: 20.11.2024 um 12:11 Uhr

Dani
Dani 13.09.2007 um 21:41:20 Uhr
Goto Top
Hi joerg,
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
Dabei gibt es 2 Übergabeparameter:
      1. Laufwerksbuchstabe
      2. Neuer Name

Der Aufruf aus der "logon.bat" sieht dann so aus:
....
cscript "\\server\netlogon\umbenennen.vbs" G Test  
..


Grüße
Dani
joerg
joerg 14.09.2007 um 11:15:00 Uhr
Goto Top
Das würde dann bedeuten, dass das Laufwerk G in TEST umbenannt wird?
Dani
Dani 14.09.2007 um 17:06:58 Uhr
Goto Top
Moin!
Richtig....


Grüße
Dani
joerg
joerg 14.09.2007 um 20:05:13 Uhr
Goto Top
das würde dann auch in einem .cmd -skrip so aussehen oder ist das der befehl anderst?

Gruß und sorry ich bin der absolute looooser in programmiersprachen...
Dani
Dani 16.09.2007 um 18:27:21 Uhr
Goto Top
Moin!
Natürlich...siehe oben.


Grüße
Dani
joerg
joerg 28.09.2007 um 17:09:28 Uhr
Goto Top
Da das jetzt super geklappt hat, hab ich noch eine Frage:

Gibs das auch für zugewiesene Netzwerkdrucker?


Gruß
Dani
Dani 28.09.2007 um 17:44:09 Uhr
Goto Top
Ne, gibt es nicht...macht dort eigentlich auch keinen Sinn!


Grüße
Dani
joerg
joerg 28.09.2007 um 18:27:14 Uhr
Goto Top
Warum macht das kein Sinn?
Im Moment heißen meine Drucker "Verwaltung XY an server-standort.domain.local"
Kein Schöner Name ;)


Gruß
Dani
Dani 28.09.2007 um 18:40:03 Uhr
Goto Top
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
joerg
joerg 28.09.2007 um 18:42:11 Uhr
Goto Top
face-smile

Ja ne was sagt uns das??
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*

Aber trotzdem danke für die Hilfe!!!!!!
joerg
joerg 29.10.2007 um 13:24:19 Uhr
Goto Top
Hey Dani,

ich hab da mal noch eine Herausforderung:

Ich lasse jetzt die LAufwerksbuchstaben dynamisch zuweisen, da ich aber bei dem "umbennen-Skript" ja einen Laufwerksbuchstaben angeben muss, kann ich das Laufwerk nicht umbennen lassen.

%logonserver%\netlogon\umbenennen.vbs(15, 1) Laufzeitfehler in Microsoft VBSc
ript: Objekt erforderlich: 'NameSpace(...)'

Diesen Fehler bekomm ich wenn ich das so benutzen will.


Schon mal danke für die Hilfe!


Gruß Jörg
Dani
Dani 29.10.2007 um 13:31:45 Uhr
Goto Top
Hi Jörg,

Ja ne was sagt uns das??
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*
Es es dir langweilig ist. *g*
Wie sehen denn nun die einzelnene Scripte aus?? Ich war nämlich noch nie gut, beim Hellsehen. ^^


Grüße
Dani
joerg
joerg 29.10.2007 um 13:48:42 Uhr
Goto Top
Jaaa ich gebs ja zu ich hab ein bischen viel Zeit im Moment
:D
wird sich aber bald wieder ändern...

net use * /delete /yes
%logonserver%\netlogon\con2prt /f

net use * "\\server1\freigabe"
cscript "%logonserver%\netlogon\umbenennen.vbs" * Name

Wobei ich für * immer einen Laufwerksbuchstabe vergeben habe.

Gruß
Dani
Dani 29.10.2007 um 14:03:15 Uhr
Goto Top
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:
for /f "tokens=2 delims= " %%a in ('net use | findstr /i "freigabe"') do echo %%a  
In %%a steht direkt der Laufwerksbuchstabe (z.B. "E:") drin.


Grüße
Dani
joerg
joerg 29.10.2007 um 15:15:06 Uhr
Goto Top
Also alle Netzfreigaben die mit Programmen zu tun haben, habe ich fest gemacht, da wir aber einen Haufen Freigaben haben für Verwaltung, Sekretariat, Vorständen und anderes "Gelumps" wollte ich das dynamisch machen, da ich total den Überblick verloren habe.
joerg
joerg 29.10.2007 um 15:19:55 Uhr
Goto Top
Hmm...

Kannst mir erklären woch das genau eintragen muss?
Dani
Dani 29.10.2007 um 17:32:44 Uhr
Goto Top
Abend,
am Besten vor dem Aufruf des VB-Scripts:
....
net use * "\\server1\freigabe"  
for /f "tokens=2 delims= " %%a in ('net use ^| findstr /i "\\server1\freigabe"') do set LwBs=%%a   
cscript "%logonserver%\netlogon\umbenennen.vbs" %LwBs% Name  
...

Grüße
Dani
joerg
joerg 29.10.2007 um 17:50:09 Uhr
Goto Top
DAnn bekomm ich folgende Fehlermeldung


"|" ist syntaktisch an dieser Stelle nicht verarbeitbar.

C:\>for /f "tokens=2 delims= " %a in ('net use | findstr /i "\\server\e$"') do set LwBs=%a
Dani
Dani 29.10.2007 um 17:56:00 Uhr
Goto Top
Abend,
ohh...hab ich doch glatt was vergessen. Hab's oben verbessert.


Grüße
Dani
joerg
joerg 29.10.2007 um 18:01:17 Uhr
Goto Top
Nabend auch
:D

Jetzt bekomm ich das hier:

\netlogon\umbenennen.vbs(15, 1) (null): Unbekannter Fehler

Sorry wenn ich dich damit nerve....
Dani
Dani 29.10.2007 um 18:12:23 Uhr
Goto Top
Ah...mein Fehler! Probier's mal so:
for /f "tokens=2 delims=: " %%a in ('net use ^| findstr /i "\\server1\freigabe"') do set LwBs=%%a  

Grüße
Dani
joerg
joerg 29.10.2007 um 18:23:00 Uhr
Goto Top
Ich traus mich garnicht zu sagen...

netlogon\umbenennen.vbs(15, 1) (null): Unbekannter Fehler

Grüße
Dani
Dani 29.10.2007 um 19:26:45 Uhr
Goto Top
Abend,
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"  
[Getestet und läuft, läuft und läuft...


Grüße
Dani
joerg
joerg 05.11.2007 um 07:16:42 Uhr
Goto Top
Hallo Dani,

hat alles soweit geklappt, danke dafür!
Bei mir passiert jetzt aber folgendes:
Die Laufwerke werden gemappt und auch umbenannt, aber sobald ein weiteres Laufwerk dazukommt (also mehr als 2) werden alle Laufwerke nach dem Laufwerk benannt, das als letztes umbenannt worden ist!

Gruß
Dani
Dani 11.11.2007 um 16:47:12 Uhr
Goto Top
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