egon-olsen
Goto Top

Wie kann per Script abgefragrt werden, ob eine Freigabe bereits gemappt ist?

Hallo,

eigentlich sagt der Titel ja schon, worum es mir geht,
ich möchte per Script herausbekommen, ob eine Freigabe
schon gemappt ist, um sie nicht unter einem anderen Gerätenamen
noch einmal zu verbinden.


mfg
egon

Content-Key: 136972

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

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

Member: Biber
Biber Feb 26, 2010 at 18:30:43 (UTC)
Goto Top
Moin Egon-Olsen

billigste Variante wäre mit einem CMD-Batch (ohne VBS oder WMIC).

Du kannst mal am CMD-Prompt folgendes ausprobieren:
for /f  "tokens=1,* delims=\" %i in ('net use^|find "\\"') do @echo \\%j  
Dieser Befehl gibt die eine Liste der bereits gemapten Shares aus in der Form
\\servername1\verzX\VerzY\VerzZ
\\servername2\verzA\VerzB
...
Diese Liste kannst du entweder Eintrag für Eintrag mit "IF /I .... == ...." vergleichen (würde ich empfehlen)

-oder, falls nur Shares auf unterschiedlichen Servern zu mappen sind-

Einmalig dieses "NET USE" ohne Schnörkel und Piperei umleiten in eine temporäre Datei und dann dein Wunsch-Share darin suchen lassen.

Grüße
Biber
Member: Egon-Olsen
Egon-Olsen Feb 26, 2010 at 18:53:16 (UTC)
Goto Top
Hallo Biber,

manchmal sieht man den Wald vor lauter Bäumen nicht.
Das ist genau der Ansatz, den ich gesucht habe Supi!!!
Klasse, jetzt komme ich weiter.


Besten Dank noch mal und
ein schönes Wochenende
egon
Member: Egon-Olsen
Egon-Olsen Feb 26, 2010 at 21:39:11 (UTC)
Goto Top
Hallo,

für die, die es eventuell auch brauchen, kommt hier die fertige Lösung nach der Anregung von Biber.
Da ich nicht nur ein Skript habe, das diese Funktion benötigt, erstellte ich eine Datei MapTest.cmd

@echo off
set IsMapping=no
for /f  "tokens=3 delims= " %%i in ('net use') do if /i "%%i"=="%1" set IsMapping=yes  
if %IsMapping%==yes goto :eof
for /f  "tokens=3 delims= " %%i in ('net use') do if /i "%%i"==%1   set IsMapping=yes  
if %IsMapping%==yes goto :eof
for /f  "tokens=3 delims= " %%i in ('net use') do if /i '%%i'==%1   set IsMapping=yes  
if %IsMapping%==yes goto :eof

:Mapping
echo %1 wird gemappt
net use * %1

goto :eof

Diese Datei liegt im Skripteordner.
Aufgerufen wird sie einfach durch

call MapTest \\Rechnername\Freigabename


gruß
egon
Member: Biber
Biber Feb 27, 2010 at 22:39:36 (UTC)
Goto Top
[OT]
Moin Egon-Olsen,

gerade in den letzten Wochen habe ich öfters mal Fragen in den Skripting-Bereichen dieses Forums gewünscht, in denen jemand -so wie du- an irgendeiner Stelle bei der Umsetzung seines Plans/seines Konzepts feststeckt, sich hier ein paar Anregungen und grobe Skizzen holt, nach dem ersten Post gleich schreibt "Ah ja, könnte gehen, ich probiers gleich mal aus" und kurz danach meldet "Jepp, hat funktioniert - meine Version 1.0beta sieht so aus.. " und danach folgt irgendetwas sauber in Code-Tags gepostetes.

Allerbest.
Vielen Dank für diesen schönen Beitrag
Biber
[/OT]