Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
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.
GELÖST

Exel Datei gespeert geöffnet, speerender Benutzername falsch

Frage Microsoft Microsoft Office

Mitglied: kattnerzone

kattnerzone (Level 1) - Jetzt verbinden

10.04.2008, aktualisiert 24.11.2009, 10677 Aufrufe, 18 Kommentare

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.
Mitglied: 60730
10.04.2008 um 19:48 Uhr
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 ...

01.
Office2000.vbs
01.
on error resume next 
02.
 
03.
Set fso = Wscript.CreateObject("scripting.FileSystemObject") 
04.
Set WshShell = Wscript.CreateObject("Wscript.Shell") 
05.
Set WSHNetwork = WScript.CreateObject("WScript.Network") 
06.
Set WshSysEnv = WshShell.Environment("PROCESS") 
07.
USERNAME = WshSysEnv("USERNAME") 
08.
 
09.
Set fi = fso.OpenTextFile (TEMP & "\OfficeUser.reg",2,true) 
10.
fi.WriteLine ("Windows Registry Editor Version 5.00") 
11.
fi.WriteLine ("") 
12.
fi.WriteLine ("[HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Common\UserInfo]") 
13.
fi.WriteLine (chr(34) & "UserName" & chr(34) & "=hex:" & change2unicode(USERNAME)) 
14.
fi.close 
15.
 
16.
wscript.sleep (1000) 
17.
WshShell.Run chr(34) & "regedit.exe" & chr(34) & " /s " & chr(34) & TEMP & "\OfficeUser.reg" & chr(34),,True  
18.
 
19.
WScript.Quit (0) 
20.
 
21.
function change2unicode(text) 
22.
for i = 1 to len(text) 
23.
RegBinary = RegBinary & hex(asc(mid(text,i,1))) & ",00," 
24.
next 
25.
change2unicode = RegBinary & "00,00" 
26.
end function 
Bitte warten ..
Mitglied: kattnerzone
14.04.2008 um 09:18 Uhr
Ja es ist Exel. Hier ist Office XP installiert, dürfte dann die 2000 Version sein.
Habe mir das mal in der Registry angeschaut und teilweise sind die Werte auch richtig. Bei den meisten Personen geht das dann auch, nur bei einem steht XXX, obwohl der Hexwert das richtige Kürzel darstellt. Keine Ahnung wie das kommt, ist aber nicht ganz so tragisch, da man weiß werr XXX ist.
Jetzt hat sich noch ein zusätzliches Problem aufgetan. Die Benutzer öffnen die Datei auch in einer Terminalsitzung und da ist Office logischerweise nur einmal als Admin installiert. Gibt es da noch eine Möglichkeit das mit den Namen hinzubekommen?
Bitte warten ..
Mitglied: 60730
14.04.2008 um 12:11 Uhr
Ja es ist Excel. Hier ist Office XP
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.
Bitte warten ..
Mitglied: kattnerzone
14.04.2008 um 14:05 Uhr
Ja ich hatte das auch in der 10 Version geöffnet und da den Wert gefunden.
Das ich als Admin mir angucken kann, wer die Datei geöffnet hat, kenne ich. Bloß da können ja die normalen Benutzer nicht ran. Wenn sie die Datei vom Rechner aus öffnen, wird der Anmeldename auch richtig angezeigt. Nur wenn sie sich dann am Terminalserver anmelden und die Datei da öffnen wird da administrator angezeigt.
Bitte warten ..
Mitglied: Biber
26.02.2009 um 20:44 Uhr
Moin Kattnerzone,

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
-oder-
  • nochmal nachhaken und beschreiben, was noch klemmt, wenn es nicht geholfen hat?
- und unabhängig von der Fallunterscheidung gerade -
  • 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
Bitte warten ..
Mitglied: kattnerzone
26.02.2009 um 22:17 Uhr
Problem hat sich erledigt.

Wie soll ich den Titel ändern? Weißt nicht wie die Ästhetik- und Harmoniebedürfnisse aussehen.
Bitte um ein Beispiel.
Bitte warten ..
Mitglied: Biber
26.02.2009 um 22:58 Uhr
Moin kattnerzone,

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
Bitte warten ..
Mitglied: Biber
27.02.2009 um 19:49 Uhr
Na super, kattnerzone,
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
Bitte warten ..
Mitglied: caschopl
19.11.2009 um 13:29 Uhr
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
Bitte warten ..
Mitglied: Biber
19.11.2009 um 20:33 Uhr
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:
01.
'on error resume next 
02.
Set fso = Wscript.CreateObject("scripting.FileSystemObject") 
03.
Set WshShell = Wscript.CreateObject("Wscript.Shell") 
04.
Set WSHNetwork = WScript.CreateObject("WScript.Network") 
05.
Set WshSysEnv = WshShell.Environment("PROCESS") 
06.
USERNAME = WshSysEnv("USERNAME") 
07.
wscript.echo TEMP & "\OfficeUser.reg" 
08.
wscript.quit 
09.
'----------hier ist Ende der ersten Etappe!! --- 
10.
Set fi = fso.OpenTextFile (TEMP & "\OfficeUser.reg",2,true) 
11.
fi.WriteLine ("Windows Registry Editor Version 5.00") 
12.
fi.WriteLine ("") 
13.
fi.WriteLine("[HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Common\UserInfo]") 
14.
fi.WriteLine (chr(34) & "UserName" & chr(34) & "=hex:" & change2unicode(USERNAME)) 
15.
fi.close 
16.
 
17.
' wscript.sleep (1000) 
18.
 
19.
' WshShell.Run chr(34) & "regedit.exe" & chr(34) & " /s " & chr(34) & TEMP & 
20.
' "\OfficeUser.reg" & chr(34),,True 
21.
 
22.
WScript.Quit (0) 
23.
 
24.
function change2unicode(text) 
25.
for i = 1 to len(text) 
26.
RegBinary = RegBinary & hex(asc(mid(text,i,1))) & ",00," 
27.
next 
28.
change2unicode = RegBinary & "00,00" 
29.
end function 
... 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:
01.
>cscript e:\schnipsel\writeofficeReg.vbs 
02.
\OfficeUser.reg
...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
Bitte warten ..
Mitglied: caschopl
23.11.2009 um 10:35 Uhr
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
Bitte warten ..
Mitglied: caschopl
23.11.2009 um 10:36 Uhr
Biber,
was meinst du mit

"und/oder initialisiere die Variable Temp."

bin nicht so fit in vbs....

Gruß
Carsten
Bitte warten ..
Mitglied: Biber
23.11.2009 um 11:23 Uhr
Moin caschopl,

versuchen wir uns mal heranzutasten....

was meinst du mit
"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:
01.
... 
02.
'   Jetzt bereits im Script: 
03.
Set WshSysEnv = WshShell.Environment("PROCESS") 
04.
USERNAME = WshSysEnv("USERNAME") 
05.
' Analog dazu neu ins Skript aufnehmen: 
06.
TEMP = WshSysEnv("TEMP") 
07.
...
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:
01.
'on error resume next 
02.
Set fso = Wscript.CreateObject("scripting.FileSystemObject") 
03.
Set WshShell = Wscript.CreateObject("Wscript.Shell") 
04.
Set WSHNetwork = WScript.CreateObject("WScript.Network") 
05.
Set WshSysEnv = WshShell.Environment("PROCESS") 
06.
USERNAME = WshSysEnv("USERNAME") 
07.
TEMP = WshSysEnv("TEMP") 
08.
wscript.echo TEMP & "\OfficeUser.reg" 
09.
 
10.
Set fi = fso.OpenTextFile (TEMP & "\OfficeUser.reg",2,true) 
11.
fi.WriteLine ("Windows Registry Editor Version 5.00") 
12.
fi.WriteLine ("") 
13.
fi.WriteLine("[HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Common\UserInfo]") 
14.
fi.WriteLine (chr(34) & "UserName" & chr(34) & "=hex:" & change2unicode(USERNAME)) 
15.
fi.close 
16.
wscript.quit 
17.
' wscript.sleep (1000) 
18.
 
19.
' WshShell.Run chr(34) & "regedit.exe" & chr(34) & " /s " & chr(34) & TEMP & 
20.
' "\OfficeUser.reg" & chr(34),,True 
21.
 
22.
WScript.Quit (0) 
23.
 
24.
function change2unicode(text) 
25.
for i = 1 to len(text) 
26.
RegBinary = RegBinary & hex(asc(mid(text,i,1))) & ",00," 
27.
next 
28.
change2unicode = RegBinary & "00,00" 
29.
end function 
... 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)
01.
>cscript e:\schnipsel\writeofficeReg.vbs 
02.
C:\DOKUME~1\Biber\LOKALE~1\Temp\OfficeUser.reg
-->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
Bitte warten ..
Mitglied: caschopl
23.11.2009 um 12:26 Uhr
Hallo Biber,
es hat funktioniert. das script bastelt die Regdatei.

Cool.

Sieht gut aus.

LG

Carsten
Bitte warten ..
Mitglied: Biber
23.11.2009 um 12:32 Uhr
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
Bitte warten ..
Mitglied: caschopl
23.11.2009 um 16:47 Uhr
Hallo Biber,

sobald ich das "wscript.quit " nach die Zeile "WshShell.Run chr(34) & "regedit.exe" & chr(34) & " /s " & chr(34) & TEMP &" setze kommt folgende Meldung:

d:\username1.vbs(23, 76) Kompilierungsfehler in Microsoft VBScript: Syntaxfehler

und was sagt mir das jetzt?

Gruß
Carsten
Bitte warten ..
Mitglied: Biber
23.11.2009 um 18:18 Uhr
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
Bitte warten ..
Mitglied: caschopl
24.11.2009 um 08:19 Uhr
hallo biber,
erste sahne, das ganze funktioniert.
Super vielen Dank. Jetzt muss ich dass danze nur noch ins LoginScript bauen und schon ist die sache geritzt.

Danke nochmals

LG
Carsten
Bitte warten ..
Neuester Wissensbeitrag
DSL, VDSL

Telekom blockiert immer noch den Port 7547 in ihrem Netz

(3)

Erfahrungsbericht von joachim57 zum Thema DSL, VDSL ...

Ähnliche Inhalte
Microsoft Office
MS Office Exel 2010 Update KB3115322 : Excel-Datei öffnet nicht mehr

Tipp von ArnoNymous zum Thema Microsoft Office ...

Windows Tools
gelöst Powershell Befehle aus Batch-Datei falsch überetzt? (2)

Frage von Chillministrator zum Thema Windows Tools ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (34)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...