marja
Goto Top

Verzeichnis mit gültigen,aktuellen Schreibrechte finden

Hallo zusammen,

ich habe mir gerade überlegt, wie man ein Aussagekräftigen Titel für mein Anliegen wählt. Ich denke ich habe diesen gefunden, dennoch muss ich ein wenig ausholen.

In einer größeren Abteilung wechseln die Mitarbeiter sehr oft Ihren Arbeitsplatz.
Bei der Anmeldung unter Windows wird unter dem lokalen Laufwerk D:\Users\ der Name des angemeldeten Mitarbeiters angelegt.

Nun kommt es vor, das der Name bereits vorhanden ist, dies aber nicht erkannt wird und ein neuer Ordner angelegt wird mit dem gleichen Namen plus Zusatz.

So kann es vorkommen, das dann bsp. zwei Ordner oder mehr wie folgt vorhanden sind.

max.mustermann
max.mustermann,BP-DE
max.mustermann,BP-DE.001

In diesem jeweiligen Ordner sind u.a. die lokalen Einstellungen des Users enthalten.

Durch ein Link/Icon startet der User meine Access Applikation. Dabei wird die MDE Datei auf den lokalen Pfad gespeichert. Bsp. max.mustermann/Tools/ und so weiter.

Nun besteht aber die Möglichkeit, das die Batch nicht auf den Pfad zugreifen kann, da ein neuer Ordner angelegt wurde, der in dem Sinne dann schreibberechtigt ist, also bsp. max.mustermann,BP-DE/Tools/ und so weiter.

Wie kann man nun per Batch überprüfen, welcher der aktuelle, gültige Pfad ist? Geht so etwas überhaupt?

Ein Teil meines Quellcodes:
if not exist D:\Users\%username%\Tools\MeineApp mkdir D:\Users\%username%\Tools\MeineApp

D.h. hier wähle ich den Pfad mit dem aktuell angemeldeten Username, der aber auch mal ,BP-DE oder ,BP-DE.001 sein kann, obwohl unter Windows der Username nur max.mustermann lautet.

Ich hoffe mir kann einer weiterhelfen?

Das Problem ist nämlich, da sporadisch Kollegen das Tool nicht öffnen können, da die Datei nicht in den richtigen Pfad kopiert werden kann von wo aus diese dann geöffnet wird.

Gruß Marja

Content-ID: 194964

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

Ausgedruckt am: 23.11.2024 um 09:11 Uhr

Ausserwoeger
Ausserwoeger 27.11.2012 aktualisiert um 14:07:40 Uhr
Goto Top
Hi

Diese Ordner von denen du da sprichst nennt man User Profile. Wenn man das Problem hat das User gleich heissen gibt es die möglichkeit diese Profile umzuleiten zb. so das jeder der 3 Max. Mustermann benutzer den Profilordner
Max.Mustermann.BP-DE.001 verwendet.

Eigendlich handelt es sich hier aber um ein Organisatorisches Problem den es darf schlicht und einfach keine 3 Benutzer geben die gleich heissen.
In einer Domain wäre das auch gar nicht möglich 3 Benutzer anzulegen die den gleichen Namen haben. Es gibt schlicht nur einen Max Mustermann nummer 2 und 3 müssen dann lokale Benutzer sein und Nummer 3 müsste auch leicht anders heissen.

ich vermute eher das es hier 2 benutzer gibt die gleich heissen einen Lokalen und einen Domainbenutzer. Der Domainbenutzer hat die Domain als ändung stehen weil es schon einen lokalen Max Mustermann gibt.

Bei Nr 3 denke ich das eines der 2 Profile einen Fehler haben muss und deswegen Nummer 3 erstellt wurde.

Aber um genaueres zu sagen müsste man das Netzwerk kennen.

Wenn man zb. Windows XP verwendet gibt es ein Update für die Profilerstellung weil es Probleme damit gab.


PS: Wenn du das Problem schnell lösen willst gib einfach jedem User auf den Pfad in allen Profilen zugriff indem du in den NTFS rechten Domainbenutzer hinzufügst und berechtigst.

PPS: Jeder Netzwerkadministartor sollte das Problem leicht lösen können.

LG Andy
Dirmhirn
Dirmhirn 27.11.2012 aktualisiert um 14:07:36 Uhr
Goto Top
Hi!

mit %userprofile%.

aber es sollten nicht alufend neue Profilordner erstellt werden. Da hast du ein Rechteproblem. Bist du auch Admin? sonst sprich mal mit dem.

sg Dirm

EDIT: zu spät...
Ausserwoeger
Ausserwoeger 27.11.2012 aktualisiert um 14:11:08 Uhr
Goto Top
Zitat von @Dirmhirn:
EDIT: zu spät...

Ha face-smile !! Ich glaub sie ist Programiererin und kein admin was meinst du ?

PS: Für heute hab ich eh genug geschrieben daher darfst du weiterhelfen wenn Fragen auftauchen ich bin erstmal 3 tage weg face-smile

LG Andy
Pjordorf
Pjordorf 27.11.2012 aktualisiert um 14:12:29 Uhr
Goto Top
Hallo,

Zitat von @Marja:
In einer größeren Abteilung wechseln die Mitarbeiter sehr oft Ihren Arbeitsplatz.
Das kann schon mal passierenface-smile

Bei der Anmeldung unter Windows wird unter dem lokalen Laufwerk D:\Users\ der Name des angemeldeten Mitarbeiters angelegt.
Wodurch?

Nun kommt es vor, das der Name bereits vorhanden ist, dies aber nicht erkannt wird und ein neuer Ordner angelegt wird mit dem gleichen Namen plus Zusatz.
max.mustermann
max.mustermann,BP-DE
max.mustermann,BP-DE.001
Das sieht doch sehr verdächtig nach Fehler mit Roaming Profiles und oder Fehler bei der Domänenanbindung / Rechner / Benutzer aus.

In diesem jeweiligen Ordner sind u.a. die lokalen Einstellungen des Users enthalten.
Also doch die Profilordner der angemeldeten Anwender auf einem Windows OS. Ihr habt den Pfad für Benutzerdateien (Profil) komplett geändert? Nebenwirkungen eingeplant und oder bekannt?

Nun besteht aber die Möglichkeit, das die Batch nicht auf den Pfad zugreifen kann, da ein neuer Ordner angelegt wurde,
Alles ein folgefehler da für den Benutzer ein neuer Profilpfad angelegt wurde. Behebe diesen Fehler und hier tauchen dann keine Fehler mehr auf.

Werden Profile nach dem Abmelden lokal gelöscht?
Wenn ja, wurden die auch tatsächlich gelöscht?
Warum wird für einen benutzer dessen Profilpfad schon existiert, ein neuer angelegt? NTFS Rechte am lokalen System geändert?
Werden Profile umbenannt?
Werde die Rechner aus Domäne raus / in Domäne Rein usw. häufig gemacht?
Werden die Benutzer im AD oft geändert?
Gibt es Authentifizierungsprobleme im netz?
Was steht im Ereignissprotokll bezuüglich Profile (Roaming) drin?

Gruß,
Peter

[Nachtrag]
Vorhin waren die anderen Antworten noch nicht daface-smile
[/Nachtrag]
106543
106543 27.11.2012 aktualisiert um 14:15:00 Uhr
Goto Top
Hi,

und ich denke du hast was falsch verstanden Ausserwoeger face-smile
er meint denke ich, dass der Benutzer ein und derselbe ist, hatten das Problem mit lokalen Benutzerprofilen auch
einer unserer Benutzer hat sich an einem PC angemeldet (es wurde ein Profil erstellt)
nach Ab- und Anmelden wurde ein zweites erstellt mit dem Domänenzusatz (hier: BP-DE)
und schließlich wurde noch eines erstellt mit Namen Max.Mustermann.Domänenzusatz 001
wir haben das Problem so gelöst, dass wird den benutzer im AD gelöscht haben, seine Benutzerprofile gelsöcht haben und danach hats funktioniert.
Keine Ahnung woran das liegt.

Grüße
Exze

[EDIT]
Spammt doch btte nicht dazwischen :-O
;)
[/EDIT]
Ausserwoeger
Ausserwoeger 27.11.2012 um 14:16:26 Uhr
Goto Top
Ah Ups ! Kann sein.

Wenn euch sowas bei Windows XP Passiert:
http://www.microsoft.com/en-us/download/details.aspx?id=6676
hilft so gut wie immer.

Man kann auch mittels GPO eine Datei automatisch in einen Pfad einfügen das sollte auch helfen das das Programm immer aufgeht wenn die Datei statisch ist und nicht geändert wird.

LG Andy
Marja
Marja 27.11.2012 aktualisiert um 15:33:15 Uhr
Goto Top
ja, das stimmt Andy.
Das Problem ist in diesem großen Unternehmen bekannt, allerdings gibt es keine Lösung ;-( bisher.
Naja, die Lösung ist die Technikhotline anrufen, Ticket geben lassen, warten auf Techniker/Admin und das ggf. jeden Tag, da es an einem anderen Platz wieder passieren kann.

ich wollte halt nur mein Programm (Datei) automatisch in die UserProfil des Users lokal kopieren lassen und von dort wird dann das Tool gestartet.
Egal ob Benutzerprofil oder Benutzerprofil.001 etc.

Marja
106543
106543 27.11.2012 um 15:24:11 Uhr
Goto Top
Hi,

wie gesagt bei uns hat es geholfen, die betreffenden Leute aus dem AD zu löschen, dann Benutzerkonten zu bereinigen und benutzer neu anzulegen (exakt gleicher Benutzername) face-smile
Kannst du ja mal bei euh vorschlagen

Grüße
Exze
Ausserwoeger
Ausserwoeger 27.11.2012 aktualisiert um 15:27:53 Uhr
Goto Top
Weisst du wie die Struktur bei dem Unternehmen aufgebaut ist ? Haben die XP Rechner ? Haben die eine 2003 Domain oder 2008 Domaincontroller ????

Wenns nur um dein Programm geht und du 1 Datei in jedem Profil haben musst dann würde ich dir empfehlen diese Datei einfach über GPO automatisch in jedem Profil ablegen zu lassen.

PS: Wenn du das generelle Problem beheben willst müsstest du mehr Infos zum Netzwerk haben.

LG Andy
Marja
Marja 27.11.2012 um 15:27:43 Uhr
Goto Top
Genau so meine ich es Exze.

Sicherlich könnte man den Admin vor Ort bzw. erst über die Hotline kontaktieren, dieser geht dann zum User am Platz und korrigiert dies. Es kann aber passieren, das der User wie gesagt am anderen Platz sitzt am nächsten Tag und dort das selbe passiert. Also wieder den Admin kontaktieren. Daher wollte ich es so umgehen, das in das richtige aktuelle benutzerprofil die Datei (automatisch) kopiert werden kann. In den anderen Pfaden ist ja dann kein Schreibrecht.

Gruß Marja
Marja
Marja 27.11.2012 um 15:31:12 Uhr
Goto Top
Also als Client haben wir noch XP Rechner. Den Domaincontroller kann ich nicht sagen.
Bekomme ich das auch alleine raus ob 2003 oder 2008 Domaincontroller?

Ja, es geht nur um meine eigenen Tools. Was meinst Du mit GPO?

Gruß Marja
Dirmhirn
Dirmhirn 27.11.2012 um 15:42:42 Uhr
Goto Top
Hi!

schau dir mal die Umgebungsvariable %userprofile% an.

Schick deinem Admin eine Info, dass dir das Problem aufgefallen ist - vll beheben sie es. Du kannst da nichts machen.

sg Dirm
Ausserwoeger
Ausserwoeger 27.11.2012 aktualisiert um 15:49:17 Uhr
Goto Top
GPO bedeutet Gruppenrichtlinie und ist eine Funktion des Domaincontrollers.
Mit dieser kann der Admin viel einstellen zb. kann er auch Dateien automatisch beim anmelden jedes Benutzers in Ordner schieben.
Vorraussetzung ist ein 2008 Domaincontroller.

Der Admin muss dann nur in der GPO %userprofile%\pad deiner datei\ in die GPO als ort Eingeben und kann somit deine benötigte Datei immer aktuell in den im Moment verwendeten Profil ablegen.

PS: Ausserdem kann der Admin das Update das ich weiter oben gepostet habe bei allen XP clients installieren dann wird das Problem sowieso kaum noch auftauchen.

PPS: Gibt es auch Windows 7 clients ? Haben die das Problem auch ?


LG Andy
SarekHL
SarekHL 27.11.2012 aktualisiert um 17:02:20 Uhr
Goto Top
Zitat von @Dirmhirn:
schau dir mal die Umgebungsvariable %userprofile% an.

Richtig!

Marja, wenn Du ein Access-Tool geschrieben hast, gehe ich davon aus, daß Du in VBA programmierst. In dem Fall gilt:

Benutzerprofilpfad = Environ("USERPROFILE")+"\"  
Anwendungsdatenpfad = Environ("APPDATA")+"\"  

Also jede beliebige Umgebungsvariable, die Du in der "DOS-Box" mit SET aufgelistet bekommst, kannst Du unter VBA mit der Funktion Environ() auslesen und in eine Variable schreiben.