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

Mitglied: Egon-Olsen

Egon-Olsen (Level 1)

26.02.2010 um 19:17 Uhr, 2957 Aufrufe, 4 Kommentare

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
Mitglied: Biber
26.02.2010 um 19:30 Uhr
Moin Egon-Olsen

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

Du kannst mal am CMD-Prompt folgendes ausprobieren:
01.
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
Mitglied: Egon-Olsen
26.02.2010 um 19:53 Uhr
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
Mitglied: Egon-Olsen
26.02.2010 um 22:39 Uhr
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

01.
@echo off
02.
set IsMapping=no
03.
for /f  "tokens=3 delims= " %%i in ('net use') do if /i "%%i"=="%1" set IsMapping=yes
04.
if %IsMapping%==yes goto :eof
05.
for /f  "tokens=3 delims= " %%i in ('net use') do if /i "%%i"==%1   set IsMapping=yes
06.
if %IsMapping%==yes goto :eof
07.
for /f  "tokens=3 delims= " %%i in ('net use') do if /i '%%i'==%1   set IsMapping=yes
08.
if %IsMapping%==yes goto :eof
09.

10.
:Mapping
11.
echo %1 wird gemappt
12.
net use * %1
13.

14.
goto :eof
Diese Datei liegt im Skripteordner.
Aufgerufen wird sie einfach durch

01.
call MapTest \\Rechnername\Freigabename

gruß
egon
Mitglied: Biber
27.02.2010 um 23:39 Uhr
[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]
Titel: Wie kann per Script abgefragrt werden, ob eine Freigabe bereits gemappt ist?
Content-ID: 136972
Art des Inhalts: Frage
Ausgedruckt am: 23.05.2019 um 01:49:43 Uhr
URL: https://administrator.de/contentid/136972