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-Key: 68590

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

Printed on: April 16, 2024 at 11:04 o'clock

Member: Dani
Dani Sep 13, 2007 at 19:41:20 (UTC)
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
Member: joerg
joerg Sep 14, 2007 at 09:15:00 (UTC)
Goto Top
Das würde dann bedeuten, dass das Laufwerk G in TEST umbenannt wird?
Member: Dani
Dani Sep 14, 2007 at 15:06:58 (UTC)
Goto Top
Moin!
Richtig....


Grüße
Dani
Member: joerg
joerg Sep 14, 2007 at 18:05:13 (UTC)
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...
Member: Dani
Dani Sep 16, 2007 at 16:27:21 (UTC)
Goto Top
Moin!
Natürlich...siehe oben.


Grüße
Dani
Member: joerg
joerg Sep 28, 2007 at 15:09:28 (UTC)
Goto Top
Da das jetzt super geklappt hat, hab ich noch eine Frage:

Gibs das auch für zugewiesene Netzwerkdrucker?


Gruß
Member: Dani
Dani Sep 28, 2007 at 15:44:09 (UTC)
Goto Top
Ne, gibt es nicht...macht dort eigentlich auch keinen Sinn!


Grüße
Dani
Member: joerg
joerg Sep 28, 2007 at 16:27:14 (UTC)
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ß
Member: Dani
Dani Sep 28, 2007 at 16:40:03 (UTC)
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
Member: joerg
joerg Sep 28, 2007 at 16:42:11 (UTC)
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!!!!!!
Member: joerg
joerg Oct 29, 2007 at 12:24:19 (UTC)
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
Member: Dani
Dani Oct 29, 2007 at 12:31:45 (UTC)
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
Member: joerg
joerg Oct 29, 2007 at 12:48:42 (UTC)
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ß
Member: Dani
Dani Oct 29, 2007 at 13:03:15 (UTC)
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
Member: joerg
joerg Oct 29, 2007 at 14:15:06 (UTC)
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.
Member: joerg
joerg Oct 29, 2007 at 14:19:55 (UTC)
Goto Top
Hmm...

Kannst mir erklären woch das genau eintragen muss?
Member: Dani
Dani Oct 29, 2007 at 16:32:44 (UTC)
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
Member: joerg
joerg Oct 29, 2007 at 16:50:09 (UTC)
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
Member: Dani
Dani Oct 29, 2007 at 16:56:00 (UTC)
Goto Top
Abend,
ohh...hab ich doch glatt was vergessen. Hab's oben verbessert.


Grüße
Dani
Member: joerg
joerg Oct 29, 2007 at 17:01:17 (UTC)
Goto Top
Nabend auch
:D

Jetzt bekomm ich das hier:

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

Sorry wenn ich dich damit nerve....
Member: Dani
Dani Oct 29, 2007 at 17:12:23 (UTC)
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
Member: joerg
joerg Oct 29, 2007 at 17:23:00 (UTC)
Goto Top
Ich traus mich garnicht zu sagen...

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

Grüße
Member: Dani
Dani Oct 29, 2007 at 18:26:45 (UTC)
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
Member: joerg
joerg Nov 05, 2007 at 06:16:42 (UTC)
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ß
Member: Dani
Dani Nov 11, 2007 at 15:47:12 (UTC)
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