Exel Datei gespeert geöffnet, speerender Benutzername falsch
Hallo,
ich habe folgendes Problem:
Hier im Netzwerk liegt eine Exeltabelle in die von meheren Benutzern Daten eingetragen werden. Wenn ein Benutzer die Datei öffnen will, wenn sie gerade von einem anderen geöffnet ist, bekommt er die Meldung Datei ist zum Bearbeiten durch administrator gesperrt.
Es ist sehr eigenartig das bei manchen Benutzern der AD Name steht und bei sehr vielen da nur administrator steht, wenn sie die Datei offen haben.
Habt ihr eine Idee wo man das vielleicht einstellen kann oder welche Einstellungen ich kontrollieren muss. Ist nämlich blöd, da man dadurch nicht nachvollziehen kann, wer die Datei offen hat um die Person dann anzusprechen, da er die Datei bitte schließen soll.
ich habe folgendes Problem:
Hier im Netzwerk liegt eine Exeltabelle in die von meheren Benutzern Daten eingetragen werden. Wenn ein Benutzer die Datei öffnen will, wenn sie gerade von einem anderen geöffnet ist, bekommt er die Meldung Datei ist zum Bearbeiten durch administrator gesperrt.
Es ist sehr eigenartig das bei manchen Benutzern der AD Name steht und bei sehr vielen da nur administrator steht, wenn sie die Datei offen haben.
Habt ihr eine Idee wo man das vielleicht einstellen kann oder welche Einstellungen ich kontrollieren muss. Ist nämlich blöd, da man dadurch nicht nachvollziehen kann, wer die Datei offen hat um die Person dann anzusprechen, da er die Datei bitte schließen soll.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Kommentar vom Moderator Biber am 20.11.2009 um 11:01:14 Uhr
Beitrag jetzt nach Beantwortung der Anschlussfragen caschopls wieder auf "Gelöst" gesetzt und geschlossen.
Kommentar von Moderator Biber am 20.11.2009 um 11.01.14
Farbe des Erledigt-Hakens wegen neuer Nach-Hakerei (hoffentllich temporär) wieder auf transparent geändert.
Kommentar von Moderator Biber am 20.11.2009 um 11.01.14
Farbe des Erledigt-Hakens wegen neuer Nach-Hakerei (hoffentllich temporär) wieder auf transparent geändert.
Content-ID: 85204
Url: https://administrator.de/contentid/85204
Ausgedruckt am: 22.11.2024 um 18:11 Uhr
18 Kommentare
Neuester Kommentar
Hi,
Du meist sicherlich Excel - aber Welche Version genau bitte schön?
Das "kommt" davon, wenn der "Administrator" die Software installiert *lach*
Unter Office 2000 z.B findest du diesen Wert als Binary
HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Common\UserInfo\UserName
"So" einfach bekommst du da aber nicht den gewünschten Eintrag rein, denn dort muß ein "Reg_Binary" Wert drin stehen.
Bedank dich dann bitte nicht bei mir, sondern bei Stefan Bolz.
http://www.microsoft.com/communities/newsgroups/en-us/default.aspx?dg=m ...
Du meist sicherlich Excel - aber Welche Version genau bitte schön?
Das "kommt" davon, wenn der "Administrator" die Software installiert *lach*
Unter Office 2000 z.B findest du diesen Wert als Binary
HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Common\UserInfo\UserName
"So" einfach bekommst du da aber nicht den gewünschten Eintrag rein, denn dort muß ein "Reg_Binary" Wert drin stehen.
Bedank dich dann bitte nicht bei mir, sondern bei Stefan Bolz.
http://www.microsoft.com/communities/newsgroups/en-us/default.aspx?dg=m ...
Office2000.vbs
on error resume next
Set fso = Wscript.CreateObject("scripting.FileSystemObject")
Set WshShell = Wscript.CreateObject("Wscript.Shell")
Set WSHNetwork = WScript.CreateObject("WScript.Network")
Set WshSysEnv = WshShell.Environment("PROCESS")
USERNAME = WshSysEnv("USERNAME")
Set fi = fso.OpenTextFile (TEMP & "\OfficeUser.reg",2,true)
fi.WriteLine ("Windows Registry Editor Version 5.00")
fi.WriteLine ("")
fi.WriteLine ("[HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Common\UserInfo]")
fi.WriteLine (chr(34) & "UserName" & chr(34) & "=hex:" & change2unicode(USERNAME))
fi.close
wscript.sleep (1000)
WshShell.Run chr(34) & "regedit.exe" & chr(34) & " /s " & chr(34) & TEMP & "\OfficeUser.reg" & chr(34),,True
WScript.Quit (0)
function change2unicode(text)
for i = 1 to len(text)
RegBinary = RegBinary & hex(asc(mid(text,i,1))) & ",00,"
next
change2unicode = RegBinary & "00,00"
end function
Ja es ist Excel. Hier ist Office XP
installiert, dürfte dann die 2000
Version sein.
installiert, dürfte dann die 2000
Version sein.
Hi,
Office 2000 (Office 9) ist NICHT Office XP (Office 10) und umgekehrt.
Dementsprechend solltest du in folgender Zeile schon den Schlüssel Office\ 10.0\ eintragen.
fi.WriteLine ("[HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Common\UserInfo]")
Ps: Bei Office 2003 wäre der Schlüssel Office 11.0, aber bei dieser Version hat es Microsoft "gemerkt"
Pss:
Wenn du auf dem Fileserver mit rechtsklick auf den Arbeitsplatz "manage" anklickst und im erscheinenden "Fenster" auf Computer Management\Shared Folders\Open Files" gehst, siehst du, wer (Anmeldename) welche Datei geöffnet hat.
Moin Kattnerzone,
da ich gerade auf Deinen Beitrag (wegen T-Mos Ausführungen und Recherche) verwiesen habe:
Könntest Du bitte
Danke dafür
Biber
da ich gerade auf Deinen Beitrag (wegen T-Mos Ausführungen und Recherche) verwiesen habe:
Könntest Du bitte
- den Beitrag als "gelöst" kennzeichnen, wenn es geholfen hat
- nochmal nachhaken und beschreiben, was noch klemmt, wenn es nicht geholfen hat?
- bitte bitte das "Exel Datei gespeert geöffnet, falsche Benutzerangabe" im Titel an mein hier im Forum bekanntes Ästhetik- und Harmoniebedürfnis anpassen?
Danke dafür
Biber
Moin kattnerzone,
och, ein Beispiel ist einfach:
Der Titel jetzt (vielversprechend):
Der Titel vielversprechender:
Wenn Du möchtest.... ich hätte keinerlei Probleme damit, ein Dutzend Alternativen anzubieten...
Ich dank Dir auf jeden Fall für das schnelle Feedback und Auf-Erledigt-setzen.
Grüße
Biber
och, ein Beispiel ist einfach:
Der Titel jetzt (vielversprechend):
Exel Datei gespeert geöffnet, falsche Benutzerangabe
Der Titel vielversprechender:
Exel Datei gespeert geöffnet, speerender Benutzername falsch
Wenn Du möchtest.... ich hätte keinerlei Probleme damit, ein Dutzend Alternativen anzubieten...
Ich dank Dir auf jeden Fall für das schnelle Feedback und Auf-Erledigt-setzen.
Grüße
Biber
Na super, kattnerzone,
Meine seliger Onkel Herbert hat auch immer gesagt:
Was hiermit bewiesen wäre.
Jetzt kann ich beruhigter schlafen.
Danke Dir und schönes Wochenende
Biber
Exel Datei gespeert geöffnet, speerender Benutzername falsch
hat doch prima geklappt.Meine seliger Onkel Herbert hat auch immer gesagt:
"Junge, Du musst nur vernünftig mit den Leuten reden, dann bekommst Du alles, was Du willst."
Was hiermit bewiesen wäre.
Jetzt kann ich beruhigter schlafen.
Danke Dir und schönes Wochenende
Biber
Hallo,
danke erstmal,
aber beim Ausführen bekomme ich folgende Fehlermeldung:
Skript: hier steht der Name
Zeile 13
Zeichen 1
Fehler: Anweisung erwartet
Code 800A0400
Quelle Kompilierungsfehler in Microsoft VBScript
Habe das Script auf officeXP wie folgt angepasst:
("[HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Common\UserInfo]")
Muss noch folgende Anmerkung machen, wir melden uns mit Novell an den PC´s an. Kann das den Fehler verursachen?
Danke für die Hilfe
LG
Carsten
danke erstmal,
aber beim Ausführen bekomme ich folgende Fehlermeldung:
Skript: hier steht der Name
Zeile 13
Zeichen 1
Fehler: Anweisung erwartet
Code 800A0400
Quelle Kompilierungsfehler in Microsoft VBScript
Habe das Script auf officeXP wie folgt angepasst:
("[HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Common\UserInfo]")
Muss noch folgende Anmerkung machen, wir melden uns mit Novell an den PC´s an. Kann das den Fehler verursachen?
Danke für die Hilfe
LG
Carsten
Moin caschopi,
eigentlich hatte ich gehofft, dass ich in diesem Beitrag keinen Kommentar mehr schreibe, aber...
What shall's.
a) Wenn irgendwo in einem VBSkript-Schnipselchen die Zeile "On Error Resume Next" steht, bedeutet das, dass der Verfasser der Meinung ist, bei ihm auf dem Rechner läuft es/lief es mindestens einmal und wer Fehlermeldungen sehen will ist ein Weichei.
Dennoch sollte jede/r, der/die irgendwo in diesen World-Wide-Wurschtelforen einen Schnipsel mit dieser Zeile aufliest, genau diese Zeile als erstes auskommentieren.
b) Richtige Hasenfüße (so wie ich) ändern dann alles (ggf. in mehreren Etappen) so ab, das zuerst nur angezeigt wird, was passieren würde beim nächsten Etappenziel.
Deshalb würde mein geCopy&Pasteter Schnipsel im ersten Step so aussehen:
... und dabei würde ich feststellen, dass bei mir (und bei dir dito) das locker hingeworfene TEMP zu etwas aufgelöst wird, dass auch als der große wirtschaftspolitische Plan der FDP bekannt ist.
Angezeigt wird jedenfalls als Ergebnis der Zeilen 07/08 oben:
...d.h. bei mir würde, weil ich als Admin unterwegs bin und auf Laufwerk D: im Rootverzeichnis eine Datei OfficeUser.reg geschieben werden.
Da du vermutlich auf Laufwerk C:\ unterwegs bist, bekommst du sofort eine aufs Maul, weil so etwas wirklich nicht sein können sollte.
Sorge dafür, dass bei dir irgendwohin geschrieben wird, wo Schreibrechte vorhanden sind und/oder initialisiere die Variable Temp.
Grüße
Biber
eigentlich hatte ich gehofft, dass ich in diesem Beitrag keinen Kommentar mehr schreibe, aber...
What shall's.
a) Wenn irgendwo in einem VBSkript-Schnipselchen die Zeile "On Error Resume Next" steht, bedeutet das, dass der Verfasser der Meinung ist, bei ihm auf dem Rechner läuft es/lief es mindestens einmal und wer Fehlermeldungen sehen will ist ein Weichei.
Dennoch sollte jede/r, der/die irgendwo in diesen World-Wide-Wurschtelforen einen Schnipsel mit dieser Zeile aufliest, genau diese Zeile als erstes auskommentieren.
b) Richtige Hasenfüße (so wie ich) ändern dann alles (ggf. in mehreren Etappen) so ab, das zuerst nur angezeigt wird, was passieren würde beim nächsten Etappenziel.
Deshalb würde mein geCopy&Pasteter Schnipsel im ersten Step so aussehen:
'on error resume next
Set fso = Wscript.CreateObject("scripting.FileSystemObject")
Set WshShell = Wscript.CreateObject("Wscript.Shell")
Set WSHNetwork = WScript.CreateObject("WScript.Network")
Set WshSysEnv = WshShell.Environment("PROCESS")
USERNAME = WshSysEnv("USERNAME")
wscript.echo TEMP & "\OfficeUser.reg"
wscript.quit
'----------hier ist Ende der ersten Etappe!! ---
Set fi = fso.OpenTextFile (TEMP & "\OfficeUser.reg",2,true)
fi.WriteLine ("Windows Registry Editor Version 5.00")
fi.WriteLine ("")
fi.WriteLine("[HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Common\UserInfo]")
fi.WriteLine (chr(34) & "UserName" & chr(34) & "=hex:" & change2unicode(USERNAME))
fi.close
' wscript.sleep (1000)
' WshShell.Run chr(34) & "regedit.exe" & chr(34) & " /s " & chr(34) & TEMP &
' "\OfficeUser.reg" & chr(34),,True
WScript.Quit (0)
function change2unicode(text)
for i = 1 to len(text)
RegBinary = RegBinary & hex(asc(mid(text,i,1))) & ",00,"
next
change2unicode = RegBinary & "00,00"
end function
Angezeigt wird jedenfalls als Ergebnis der Zeilen 07/08 oben:
>cscript e:\schnipsel\writeofficeReg.vbs
\OfficeUser.reg
Da du vermutlich auf Laufwerk C:\ unterwegs bist, bekommst du sofort eine aufs Maul, weil so etwas wirklich nicht sein können sollte.
Sorge dafür, dass bei dir irgendwohin geschrieben wird, wo Schreibrechte vorhanden sind und/oder initialisiere die Variable Temp.
Grüße
Biber
Hallo Biber,
also mein script liegt auf "D" und dort führe ich es auch aus, bin als Admin unterwegs un bekomme folgende Meldung:
C:\>cscript d:\username.vbs
Microsoft (R) Windows Script Host, Version 5.7
Copyright (C) Microsoft Corporation 1996-2001. Alle Rechte vorbehalten.
d:\username.vbs(13, 1) Kompilierungsfehler in Microsoft VBScript: Anweisung erwartet
C:\
und passieren tut nix.
Hast Du noch einen Tipp?
Danke
Carsten
also mein script liegt auf "D" und dort führe ich es auch aus, bin als Admin unterwegs un bekomme folgende Meldung:
C:\>cscript d:\username.vbs
Microsoft (R) Windows Script Host, Version 5.7
Copyright (C) Microsoft Corporation 1996-2001. Alle Rechte vorbehalten.
d:\username.vbs(13, 1) Kompilierungsfehler in Microsoft VBScript: Anweisung erwartet
C:\
und passieren tut nix.
Hast Du noch einen Tipp?
Danke
Carsten
Moin caschopl,
versuchen wir uns mal heranzutasten....
Damit meine ich, dass die aus unerfindlichen Gründen und mit beiläufiger Selbstverständlichkeit im Schnipsel erwähnte Variable TEMP zwar -vergleichbar einem Wirtschaftssachverständigen der FDP- einen ganz furchtbar wichtigen Eindruck hinterlassen soll, aber absolut inhaltsleer ist.
Mit "initialisieren" meine ich, dass diese Variable -im Gegensatz zu einem Wirtschaftspolitiker der FDP- relativ schnell mit brauchbaren Inhalten gefüllt werden kann, indem sie analog der eine Zeile höher verwendeten Variablen USERNAME aus den gesetzten Umgebungsvariablen ermittelt wird.
Auf deutscher:
Soweit zu deiner zweiten Frage - die nun überhaupt nix mit "ich bin aber nicht fit in vbs" zu tun hat.
Sondern eigentlich nur mit Analogien.
Mit deinem vorangegenagenen Kommentar habe ich ein wenig mehr Probleme...
Du schreibst:
Bitte teste zur Fehlereingrenzung erstmal diesen hier:
... der zwar niicht alles macht, aber zumindest ANZEIGEN sollte, wo und welche *.reg-Datei angelegt wird.
Beispiel (wenn der Schnipsel e:\schnipsel\writeOffice.vbs heißen würde wie bei mir)
Antesten am CMD-Prompt7 das ">" in der ersten Zeile nicht mit eingeben)
-->die Ausgabe in der 2. Zeile zeigt an, wo diese *.reg erzeugt wurde.
Mit Copy&Paste kannst du dann ein "type C:\DOKUME~1\Biber\LOKALE~1\Temp\OfficeUser.reg" zusammenbasteln und den Inhalt prüfen.
Bitte nimm jetzt zur Fehlersuche diesen Schnipsel, sonst finden wir nienich das Problem.
Grüße
Biber
versuchen wir uns mal heranzutasten....
was meinst du mit
"und/oder initialisiere die Variable Temp."
"und/oder initialisiere die Variable Temp."
Damit meine ich, dass die aus unerfindlichen Gründen und mit beiläufiger Selbstverständlichkeit im Schnipsel erwähnte Variable TEMP zwar -vergleichbar einem Wirtschaftssachverständigen der FDP- einen ganz furchtbar wichtigen Eindruck hinterlassen soll, aber absolut inhaltsleer ist.
Mit "initialisieren" meine ich, dass diese Variable -im Gegensatz zu einem Wirtschaftspolitiker der FDP- relativ schnell mit brauchbaren Inhalten gefüllt werden kann, indem sie analog der eine Zeile höher verwendeten Variablen USERNAME aus den gesetzten Umgebungsvariablen ermittelt wird.
Auf deutscher:
...
' Jetzt bereits im Script:
Set WshSysEnv = WshShell.Environment("PROCESS")
USERNAME = WshSysEnv("USERNAME")
' Analog dazu neu ins Skript aufnehmen:
TEMP = WshSysEnv("TEMP")
...
Soweit zu deiner zweiten Frage - die nun überhaupt nix mit "ich bin aber nicht fit in vbs" zu tun hat.
Sondern eigentlich nur mit Analogien.
Mit deinem vorangegenagenen Kommentar habe ich ein wenig mehr Probleme...
Du schreibst:
..d:\username.vbs(13, 1) Kompilierungsfehler in Microsoft VBScript: Anweisung erwartet
öhm.... auf welche Zeile 13 mag sich das denn beziehen? Mein an dich geposteter Schnipsel kommt gar nicht soweit..Bitte teste zur Fehlereingrenzung erstmal diesen hier:
'on error resume next
Set fso = Wscript.CreateObject("scripting.FileSystemObject")
Set WshShell = Wscript.CreateObject("Wscript.Shell")
Set WSHNetwork = WScript.CreateObject("WScript.Network")
Set WshSysEnv = WshShell.Environment("PROCESS")
USERNAME = WshSysEnv("USERNAME")
TEMP = WshSysEnv("TEMP")
wscript.echo TEMP & "\OfficeUser.reg"
Set fi = fso.OpenTextFile (TEMP & "\OfficeUser.reg",2,true)
fi.WriteLine ("Windows Registry Editor Version 5.00")
fi.WriteLine ("")
fi.WriteLine("[HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Common\UserInfo]")
fi.WriteLine (chr(34) & "UserName" & chr(34) & "=hex:" & change2unicode(USERNAME))
fi.close
wscript.quit
' wscript.sleep (1000)
' WshShell.Run chr(34) & "regedit.exe" & chr(34) & " /s " & chr(34) & TEMP &
' "\OfficeUser.reg" & chr(34),,True
WScript.Quit (0)
function change2unicode(text)
for i = 1 to len(text)
RegBinary = RegBinary & hex(asc(mid(text,i,1))) & ",00,"
next
change2unicode = RegBinary & "00,00"
end function
Beispiel (wenn der Schnipsel e:\schnipsel\writeOffice.vbs heißen würde wie bei mir)
Antesten am CMD-Prompt7 das ">" in der ersten Zeile nicht mit eingeben)
>cscript e:\schnipsel\writeofficeReg.vbs
C:\DOKUME~1\Biber\LOKALE~1\Temp\OfficeUser.reg
Mit Copy&Paste kannst du dann ein "type C:\DOKUME~1\Biber\LOKALE~1\Temp\OfficeUser.reg" zusammenbasteln und den Inhalt prüfen.
Bitte nimm jetzt zur Fehlersuche diesen Schnipsel, sonst finden wir nienich das Problem.
Grüße
Biber
Moin caschopi,
darf ich annehmen, dass du jetzt auch das Muster verstanden hast, nach dem ich schrittweise die Simulation und die Zeile "Wscript.quit" immer weiter nach hinten verschiebe, bis irgendwann das vollständige Skript an- und durchgetetstet istß
Und if so, testest du jetzt selbsttätig weiter und postest deine Erkenntnisse?
Grüße
Biber
darf ich annehmen, dass du jetzt auch das Muster verstanden hast, nach dem ich schrittweise die Simulation und die Zeile "Wscript.quit" immer weiter nach hinten verschiebe, bis irgendwann das vollständige Skript an- und durchgetetstet istß
Und if so, testest du jetzt selbsttätig weiter und postest deine Erkenntnisse?
Grüße
Biber
Moin caschopl,
das bedeutet, dass wir auf dem richtigen Weg sind... die .reg-Datei wird geschrieben, hat vermutlich auch brauchbaren Inhalt, aber...
Die Zeile, in der dieses .reg-Datei mittels "Reg.exe /s" eingefügt wird ist eben eine Zeile.
Siehe die Zeile 17 ganz oben in TimoBeils erstem Kommentar.
Sorry, das hatt ich ein bisschen unglücklich auskommentiert...mein Fehler.
Übernimm bitte die Zeile 17 von oben.
Dann sollte es eigentlich fliegen.
Grüße
Biber
das bedeutet, dass wir auf dem richtigen Weg sind... die .reg-Datei wird geschrieben, hat vermutlich auch brauchbaren Inhalt, aber...
Die Zeile, in der dieses .reg-Datei mittels "Reg.exe /s" eingefügt wird ist eben eine Zeile.
Siehe die Zeile 17 ganz oben in TimoBeils erstem Kommentar.
Sorry, das hatt ich ein bisschen unglücklich auskommentiert...mein Fehler.
Übernimm bitte die Zeile 17 von oben.
Dann sollte es eigentlich fliegen.
Grüße
Biber