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-ID: 136972

Url: https://administrator.de/forum/wie-kann-per-script-abgefragrt-werden-ob-eine-freigabe-bereits-gemappt-ist-136972.html

Ausgedruckt am: 16.04.2025 um 11:04 Uhr

Biber
Biber 26.02.2010 um 19:30:43 Uhr
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
Egon-Olsen
Egon-Olsen 26.02.2010 um 19:53:16 Uhr
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
Egon-Olsen
Egon-Olsen 26.02.2010 um 22:39:11 Uhr
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
Biber
Biber 27.02.2010 um 23:39:36 Uhr
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]