Hot News:

Unser Angebot:

  Foren auf CAD.de
  VBasic / vb.net / vbs / wsh
  Zugriff Netzlaufwerke

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Online-Kurs: Grundlagen des 3D-Druck-Designs für Industrieingenieure , ein Kurs
Autor Thema:  Zugriff Netzlaufwerke (2048 mal gelesen)
Axel.Strasser
Ehrenmitglied V.I.P. h.c.
Selbstständig im Bereich PLM/CAx



Sehen Sie sich das Profil von Axel.Strasser an!   Senden Sie eine Private Message an Axel.Strasser  Schreiben Sie einen Gästebucheintrag für Axel.Strasser

Beiträge: 4107
Registriert: 12.03.2001

Früher war vieles gut, und das wäre es heute immer noch, wenn man die Finger davon gelassen hätte!

erstellt am: 27. Okt. 2005 15:22    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Um Netzwerklaufwerke anzuhängen verwende ich folgende Befehle:

      Set WSHNetWork = WScript.CreateObject("WScript.NetWork")
      dir = "\\server\share"
      WSHNetWork.MapNetWorkDrive ("Q:", dir)

Das Laufwerk wird "sauber" angehängt.

Wie kann ich aber jetzt abbrüfen, ob Acess Rechte auf den Share bestehen ?
Im Explorer erhalte ich die Fehlermeldung "Auf Q:\ kann nicht zugegriffen
werden. Zugriff verweigert".

Ich habe noch versucht mit dem Ansatz

      Set wmiFileSecSetting =
GetObject("winmgmts:Win32_LogicalFileSecuritySetting.path='" & dir &"'")

weiterzukommen, aber da erhalte ich nur die Meldung: (null): 0x80041002. Wie
kann ich das abfangen ?

Axel


Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

RENI
Mitglied
Entwickler


Sehen Sie sich das Profil von RENI an!   Senden Sie eine Private Message an RENI  Schreiben Sie einen Gästebucheintrag für RENI

Beiträge: 96
Registriert: 26.04.2002

erstellt am: 27. Okt. 2005 16:09    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Axel.Strasser 10 Unities + Antwort hilfreich

Hallo Axel,

hier ein Beispiel aus meine Scriptsammlung.

Gruß

RENI

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colFolders = objWMIService. _
    ExecQuery("Select * from Win32_Directory where name = 'c:\\Scripts'")
For Each objFolder in colFolders
    Wscript.Echo "Archive: " & objFolder.Archive
    Wscript.Echo "Caption: " & objFolder.Caption
    Wscript.Echo "Compressed: " & objFolder.Compressed
    Wscript.Echo "Compression method: " & objFolder.CompressionMethod
    Wscript.Echo "Creation date: " & objFolder.CreationDate
    Wscript.Echo "Encrypted: " & objFolder.Encrypted
    Wscript.Echo "Encryption method: " & objFolder.EncryptionMethod
    Wscript.Echo "Hidden: " & objFolder.Hidden
    Wscript.Echo "In use count: " & objFolder.InUseCount
    Wscript.Echo "Last accessed: " & objFolder.LastAccessed
    Wscript.Echo "Last modified: " & objFolder.LastModified
    Wscript.Echo "Name: " & objFolder.Name
    Wscript.Echo "Path: " & objFolder.Path
    Wscript.Echo "Readable: " & objFolder.Readable
    Wscript.Echo "System: " & objFolder.System
    Wscript.Echo "Writeable: " & objFolder.Writeable
Next

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Axel.Strasser
Ehrenmitglied V.I.P. h.c.
Selbstständig im Bereich PLM/CAx



Sehen Sie sich das Profil von Axel.Strasser an!   Senden Sie eine Private Message an Axel.Strasser  Schreiben Sie einen Gästebucheintrag für Axel.Strasser

Beiträge: 4107
Registriert: 12.03.2001

Früher war vieles gut, und das wäre es heute immer noch, wenn man die Finger davon gelassen hätte!

erstellt am: 27. Okt. 2005 17:00    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo reni,

danke für Deine Antwort, die bringt mich leider nur nicht weiter, da die ganzen Funktionen, die Du aufführst, nicht mit Netzwerkdrives oder UNC Notationen funktionieren, für einen lokalen Rechner sind sie ausreichend. Darum bin ich ja den Umweg über den MapNetWorkDrive und "winmgmts:Win32_LogicalFileSecuritySetting" gegangen. Bei deinen Funktionen muss man dann irgendetwas mit einem Remote Aufruf zusammenbasteln.

Axel

[Diese Nachricht wurde von Axel.Strasser am 27. Okt. 2005 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Fan-ME10
Mitglied
DV-Adminstrator, Konstrukteur


Sehen Sie sich das Profil von Fan-ME10 an!   Senden Sie eine Private Message an Fan-ME10  Schreiben Sie einen Gästebucheintrag für Fan-ME10

Beiträge: 543
Registriert: 21.08.2001

Erare humanum est

erstellt am: 28. Okt. 2005 07:29    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Axel.Strasser 10 Unities + Antwort hilfreich

Hallo Axel,

wir haben im Prinzip folgende Vorgehensweise:

Dim WSHNetwork
Set WSHNetwork = WScript.CreateObject("WScript.Network")

Function TryMapDrive(strDrive, strShare)
    On Error Resume Next
    WSHNetwork.MapNetworkDrive strDrive, strShare
End Function

TryMapDrive "M:", "\\RECHNER1\FREIGABE"
TryMapDrive "N:", "\\RECHNER2\FREIGABE"
...

HTH

------------------
Gruß Wilfried

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Axel.Strasser
Ehrenmitglied V.I.P. h.c.
Selbstständig im Bereich PLM/CAx



Sehen Sie sich das Profil von Axel.Strasser an!   Senden Sie eine Private Message an Axel.Strasser  Schreiben Sie einen Gästebucheintrag für Axel.Strasser

Beiträge: 4107
Registriert: 12.03.2001

Früher war vieles gut, und das wäre es heute immer noch, wenn man die Finger davon gelassen hätte!

erstellt am: 28. Okt. 2005 08:29    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Das Script bringt mich langsam zur verzweiflung, ich bin jetzt einen Schritt weiter:

Code:

Set fso = CreateObject("Scripting.FileSystemObject")
Set fi = fso.OpenTextFile("C:\test.txt", ForReading)

On Error Resume Next
Do While fi.atEndOfStream <> true

    dir = fi.ReadLine

    WSHNetWork.RemoveNetWorkDrive "Q:"
    WSHNetWork.MapNetWorkDrive "Q:", dir
    Fehler = err.Number
    msgbox Fehler
    If Fehler <> 0 Then
        WScript.Echo ";" & Err.Description &" " & Fehler
        err.Clear
    Else
        Call GetAccessList("Q:\\")
    End If
    WSHNetWork.RemoveNetWorkDrive "Q:"
Loop


In dem Textfile steht eine Auflistung von Shares. Ich habe dort testweise mal vier Shares definiert
1) Voller Zugriff
2) Share existiert nicht
3) Kein Access auf den Share
4) Voller Zugriff

und jetzt bekomme ich bei 1), 3) und 4) immer die gleiche Fehlernummer     : -2147022646 (Diese Netzwerkverbindung ist nicht vorhanden), obwohl ich bei 1) und 4) voll auf den Share zugreifen kann (getestet bei der Ausgabe der fehlernummer). Ich kapiere es nicht mehr.

Axel

[Diese Nachricht wurde von Axel.Strasser am 28. Okt. 2005 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Fan-ME10
Mitglied
DV-Adminstrator, Konstrukteur


Sehen Sie sich das Profil von Fan-ME10 an!   Senden Sie eine Private Message an Fan-ME10  Schreiben Sie einen Gästebucheintrag für Fan-ME10

Beiträge: 543
Registriert: 21.08.2001

Erare humanum est

erstellt am: 28. Okt. 2005 12:25    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Axel.Strasser 10 Unities + Antwort hilfreich

Hallo Axel,

ich habe jetzt ca. eine halbe Stunde versucht, dein Script zum Laufen zu bringen. Krieg ich nicht hin. Habe dieselbe Fehlermeldung wie du.

Probier doch mal meinen Scriptansatz, der funktioniert!!

------------------
Gruß Wilfried

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Axel.Strasser
Ehrenmitglied V.I.P. h.c.
Selbstständig im Bereich PLM/CAx



Sehen Sie sich das Profil von Axel.Strasser an!   Senden Sie eine Private Message an Axel.Strasser  Schreiben Sie einen Gästebucheintrag für Axel.Strasser

Beiträge: 4107
Registriert: 12.03.2001

Früher war vieles gut, und das wäre es heute immer noch, wenn man die Finger davon gelassen hätte!

erstellt am: 28. Okt. 2005 13:04    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Danke für deinen Einsatz, habe das ganze jetzt zum Laufen gebracht, das Problem beim obigen Script ist, dass ich zuerst einen Drive abhänge der nicht existiert, daraus resultiert eine Fehlermedung, die zuerst zurückgesetzt werden muss. Dein Ansatz hätte mich da auch nicht weitergebracht, Ziel des Scripts ist es die Zugriffsberechtigungen von ca 200 Shares zu dokumentieren und soviele Laufwerke habe ich nicht bei Deiner Methode  und das zweite Problem war dass ich auch Laufwerke zwar verbinden kann, aber nicht darauf zugreifen darf, was die Subroutine nicht so gerne hatte.

Axel

PS: Wenn Du das komplette Script haben willst dann gib Bescheid 

[Diese Nachricht wurde von Axel.Strasser am 28. Okt. 2005 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

RENI
Mitglied
Entwickler


Sehen Sie sich das Profil von RENI an!   Senden Sie eine Private Message an RENI  Schreiben Sie einen Gästebucheintrag für RENI

Beiträge: 96
Registriert: 26.04.2002

erstellt am: 28. Okt. 2005 13:25    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Axel.Strasser 10 Unities + Antwort hilfreich

Hallo Axel,

hast Du auch mal das mappen mit der angabe eines Benzters (Admin)
versucht?

Gruß

RENI

Dim net
Set net = CreateObject("WScript.Network")   
net.MapNetworkDrive "I:", "\\computer2\public","True","Benutzer","Password"

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Axel.Strasser
Ehrenmitglied V.I.P. h.c.
Selbstständig im Bereich PLM/CAx



Sehen Sie sich das Profil von Axel.Strasser an!   Senden Sie eine Private Message an Axel.Strasser  Schreiben Sie einen Gästebucheintrag für Axel.Strasser

Beiträge: 4107
Registriert: 12.03.2001

Früher war vieles gut, und das wäre es heute immer noch, wenn man die Finger davon gelassen hätte!

erstellt am: 28. Okt. 2005 13:35    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Reni,

das Problem war nicht das Mappen, sondern das Abfangen wenn das Mappen nicht geht. Der Username + PW bringt mich da auch nicht viel weiter, da ich keinen "Domänen Admin Master Account" habe und so nie sicherstellen kann dass ich Zugriff auf alle Shares habe und ansonsten werden das Script vielleicht noch andere brauchen und die haben wieder andere rechte. Es funktioniert jetzt und ich habe 4 graue Haare mehr bekommen 

Axel

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Fan-ME10
Mitglied
DV-Adminstrator, Konstrukteur


Sehen Sie sich das Profil von Fan-ME10 an!   Senden Sie eine Private Message an Fan-ME10  Schreiben Sie einen Gästebucheintrag für Fan-ME10

Beiträge: 543
Registriert: 21.08.2001

Erare humanum est

erstellt am: 28. Okt. 2005 14:21    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Axel.Strasser 10 Unities + Antwort hilfreich

Hallo Axel,

ich verstehe nicht, warum du nicht meinen Lösungsansatz nimmst. Du musst doch nur noch die Schleife einbauen mit deiner Datei aus der du die Shares ausliest. Nach dem Mappversuch kannst du ja "gucken" was verbunden ist.

------------------
Gruß Wilfried

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Axel.Strasser
Ehrenmitglied V.I.P. h.c.
Selbstständig im Bereich PLM/CAx



Sehen Sie sich das Profil von Axel.Strasser an!   Senden Sie eine Private Message an Axel.Strasser  Schreiben Sie einen Gästebucheintrag für Axel.Strasser

Beiträge: 4107
Registriert: 12.03.2001

Früher war vieles gut, und das wäre es heute immer noch, wenn man die Finger davon gelassen hätte!

erstellt am: 28. Okt. 2005 14:50    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


GetShareAccesslist(ExcelFormat).vbs.txt

 
Schau Dir das vbs an. Du hast bei Dir keinerlei Feedback über den Status nach dem Verbinden des Shares. Dein Ansatz macht einfach weiter und mein eigentliches Problem war dass man ein Netzwerkshare verbinden kann auch wenn man keine Berechtigung hat darauf zuzugreifen. Die Sachen sind jetzt alle abgefangen.

Axel

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2025 CAD.de | Impressum | Datenschutz