sabo
Goto Top

Anmeldescript Fehler - Objekt erforderlich - objShell.NameSpace(...) Code: 800a01a8

Hilfe zum Net Use Befehl oder ähnliches

Hallo IT-Forum

Ich bräuchte eure Hilfe.

Das Forum hat mir schon geholfen face-smile

Habe hier einen Script gefunden mit dem ich Netzwerkverbindungen erstellen und umbennen kann .Auf meinem XP Client zu Hause geklappt alles wunderbar. Aber auf den Clients in der Arbeit kriege ich folgende Fehlermeldung.. ,

Wenn ich Error next resume entferne

Fehler: Objekt erforderlich: 'objShell.NameSpace(...)'
Code: 800a01a8

Ist dies Fehlermeldung bekannt?

Hier der Skript.
' Mapping1.vbs
' Trennt, verbindet die angegebenen Laufwerke und benennt sie um
On Error Resume Next
Set WshNetwork = Wscript.CreateObject("Wscript.Network")
Set objShell = CreateObject("Shell.Application")
WshNetwork.RemoveNetworkDrive "P:"
WshNetwork.MapNetworkDrive "Q:", "\\laptop\c$"
objShell.NameSpace("Q:").Self.Name = "Quellenablage"


Vielen Dank für eure Hilfe

Gruß
Sabo

Content-Key: 18141

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

Ausgedruckt am: 28.03.2024 um 23:03 Uhr

Mitglied: sabo
sabo 20.10.2005 um 23:31:58 Uhr
Goto Top
Mitglied: Biber
Biber 21.10.2005 um 06:43:29 Uhr
Goto Top
Moin Sabo,

die Fehlermeldung kenne ich leider nicht. Und ein VB-Skript erkenne ich auch nur, wenn es mir auf den Fuß fällt, aber...
Interpretieren würde ich den Fehler so, dass kein NameSpace-Objekt für Q: vorhanden ist.
Also möglicherweise auch gar kein Laufwerk Q:.
Dieses wiederum halte ich für erklärlich, denn an eine "Administrative Freigabe" wie "\\laptop\c$" kommst vielleicht Du zu Hause als Administrator heran, aber (hoffentlich) nicht alle Clients. Die haben nicht die erforderlichen Rechte.
Netzwerkmappings sollten IMHO nie auf Administrative Freigaben oder auf versteckte Verzeichnisse gehen. Eine Ressource/ein Laufwerk/ein Verzeichnis wird bereitgestellt/geshared - dann kann sie auch für denjenigen sichtbar sein, der sie nutzen will. In der Regel bietet man/frau ja auch keine versteckten Drucker zur Installation an.

BTW, du musst eigentlich in Deinem Skript nicht zwingend das Netzlaufwerk P: trennen, bevor Du Laufwerk Q: verbindest...*gg
Lieber prüfen, ob das 'WshNetwork.MapNetworkDrive "Q:", ...' erfolgreich war.

Grüße
Biber
Mitglied: sabo
sabo 21.10.2005 um 13:46:31 Uhr
Goto Top
Vielen Dank für deine schnelle Antwort.

Das 'WshNetwork.MapNetworkDrive "Q:", ...' verbinden ist erfolgreich. egal ob mit einer versteckten Freigabe oder ohne.

Sobald ich es umbennen möchte mit objShell.NameSpace kommt der o.g. Fehler.
Egal ob mit oder ohne versteckten Freigabe.

face-sad

Noch zur Info:Server wie Clienst sind Win2000.
Mitglied: sabo
sabo 21.10.2005 um 14:31:50 Uhr
Goto Top
Hi

Hatte versucht dieses über regedit zu ändern.
Leider habe ich das folgende Problem festgestellt.
Eigentlich sollte doch, wenn man ein Netzlaufwerk verbindet ein neuer Schlüssel mit dem Pfad in der registry erstellt werden und zwar unter...

[HKEY_Current_User\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints]
bei win 2000

Bin ich soweit richtig???

Leider geschieht es auf den win2000 clients nicht, warum auch immer??? Hat da jemand schon die Erfahrung gemacht?

Deswegen findet das script eventuel auch diesen Eintrag nicht und gibt den Fehler aus.


Was sagt ihr dazu?
Mitglied: Biber
Biber 21.10.2005 um 14:46:27 Uhr
Goto Top
*lacht*
Versuchs mal mit
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2]

Wunderwelt Windows..
Grüße
Biber
Mitglied: sabo
sabo 21.10.2005 um 15:05:44 Uhr
Goto Top
Danke face-wink zurück

MountPoints2 ist bei XP

bei Win2000 ist es MountPoints
Mitglied: sabo
sabo 21.10.2005 um 15:42:38 Uhr
Goto Top
MountPoints2 ist definitiv nur beiXP

Eigentlich sollte doch, wenn man ein Netzlaufwerk verbindet ein neuer Schlüssel mit dem Pfad in der registry erstellt werden?Oder.

Hatte einen Ordner umbennant auf Sabo1234. Dieser eintrag ist auch nach dem neu anmelden geblieben.Danach habe ich die Reg. durchsucht nach dem Sabo1234 Eintrag.Leider ohne Erfolg. Wo speicher er die Info ab?
Mitglied: gemini
gemini 21.10.2005 um 23:07:54 Uhr
Goto Top
Erst schauen ob Benzin im Tank ist. bevor du den Motor tauschst

Hast du schon getestet ob das Renaming ausgeführt wird, wenn es:
a) auf eine normale Freigabe angewendet wird (andere oder C: ein weiteres Mal freigeben)?
b) auf WinXP gestartet wird?

Das Renaming hat bei mir auf WinXP-Clients noch nie einen Fehler erzeugt.
Dein Scriptcode ist richtig.
Darum nehme ich an, dass es an a) oder b) liegt, wobei ich b) für das wahrscheinlichere halte.
Mitglied: sabo
sabo 22.10.2005 um 00:12:26 Uhr
Goto Top
Funktioniert der Script bei dir auf einem Win2000 Rechner?
Mitglied: gemini
gemini 22.10.2005 um 05:53:50 Uhr
Goto Top
Funktioniert der Script bei dir auf einem Win2000 Rechner?
Das weiß ich nicht, ich habe momentan keinen hier um es zu testen!
Mitglied: Biber
Biber 22.10.2005 um 11:13:21 Uhr
Goto Top
> Funktioniert der Script bei dir auf einem Win2000 Rechner?
Hast du schon getestet ob das Renaming ausgeführt wird, wenn es:
a) auf eine normale Freigabe angewendet wird (andere oder C: ein weiteres Mal freigeben)?
b) auf WinXP gestartet wird?

Habe auch keinen W2K-Rechner zum Testen, aber (induktive Methode):
Auf XP klappt es auch mit versteckten/administrativen Freigaben.
Daher fürchte ich fast, dass es unter W2K schlicht noch nicht vorgesehen ist.
Biber


P.S. @gemini
Sach ma, wie definiert ihr Bajuwaren denn "Urlaub"? Morgens vor dem Frühstück schon ins Forum? *tztz
Mitglied: sabo
sabo 22.10.2005 um 16:55:10 Uhr
Goto Top
ja das vermute ich auch.
danke für eure zeit.habe das prob mit einer batch gelöst.

weiter so..gruss sabo
Mitglied: Biber
Biber 22.10.2005 um 23:22:54 Uhr
Goto Top
Na, sabo,
dann spann uns aber nicht so auf die Folter... wieso geht das denn jetzt per Batch?
Hast Du doch noch den passenden Reg-Key gefunden für Win2000?

Neugierig
Biber
[Edit] 23.10.
Dir auch Danke für die Win2000-Variante und schönen Sonntag!
[/Edit]
Mitglied: sabo
sabo 23.10.2005 um 02:02:13 Uhr
Goto Top
!! Achtung gilt für WIN 2000 !!

Netzlaufwerk verbinden und umbennen. Beispiel H:\Home

Dann unter dem Key

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints\H\_LabelFromReg]

(Dss H steht für das LAufwerk, dort wird der Wert erzeugt)

die Einträge "Cache", das ist ein Binärwert mit dem Namen und den Eintrag "Version" (DWORD) mit dem Wert 3 exportieren.

Diesen dann beim anmelden über ein script verteilen.

z.B.

net use h: \\server\Freigabe
ping -n 11 127.0.0.1. >nul
regedit /s \\server\freigabe\EXPORTIERTE.reg


Der Ping ist notwendig sonst wird der Reg. Eintrag von dem verbindendem Laufwerk überschrieben.
Hält das Script für 11 Sek. an.
Vielen Dank für eure Unterstützung und Zeit.
Mitglied: SamTrex
SamTrex 30.06.2008 um 02:11:01 Uhr
Goto Top
Hallo Sabo,
ich verwende diese Methode in unserem Logonscript ebenfalls.
Mir ist dabei auch aufgefallen, das alle die kein XP haben (bei uns währe das dann W2k) eine Fehlermeldung bekommen.
Anfangs habe ich das einfach mit ON ERROR RESUME NEXT umgangen, wollte dann aber doch wissen woran es liegt.
Letztendlich habe ich es wieder entfernt und führe jetzt vorher eine Versionskontrolle durch.
Alles was kleiner .2600 (XP) ist wird nicht umbenannt...

MfG Sam