Aktuelle Zeit: 28.02.2020 13:58

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 9 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: ExamineDirectory() als anderer Benutzer (und Passwort)
BeitragVerfasst: 04.12.2019 14:50 
Offline
Benutzeravatar

Registriert: 27.01.2016 11:08
Wohnort: BY
Hallo,

wie kann ich mit ExamineDirectory() einen (Netzwerk-) Ordner analysieren,
der einen anderen Benutzer mit Passwort benötigt?

Oder bleibt mir wirklich nur der Umweg über "net use" und den Share
temporär als Laufwerk einhängen? :roll:

Danke! :allright:

_________________
Never change a running system - Never run a changed system!
(PB 5.62 [x86] und PB 5.71 [x86])


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: ExamineDirectory() als anderer Benutzer (und Passwort)
BeitragVerfasst: 05.12.2019 12:01 
Offline
jaAdmin
Benutzeravatar

Registriert: 13.09.2004 17:48
Du dürftest grundsätzlich ein Problem haben innerhalb der Purebasic-Anwendung Dir selber erweiterte Rechte zu geben.

Üblicherweise wird ein Program als bestimmter User gestartet und hat dann entsprechende Rechte.
temporäres Vorab net use (Laufwerksmapping ist hier unnötig, examinedirectory geht auch mit unc ist mutmasslich nicht die schlechteste Lösung.

_________________
‮pb aktuell5.7 - windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: ExamineDirectory() als anderer Benutzer (und Passwort)
BeitragVerfasst: 05.12.2019 12:18 
Offline
Benutzeravatar

Registriert: 27.01.2016 11:08
Wohnort: BY
Aber was hat der lokale User (der User ist übrigens das lokale Systemkonto, da die EXE als Service läuft)
mit einer externen AD-Kennung zu tun, um auf einen Share zuzugreifen?

_________________
Never change a running system - Never run a changed system!
(PB 5.62 [x86] und PB 5.71 [x86])


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: ExamineDirectory() als anderer Benutzer (und Passwort)
BeitragVerfasst: 05.12.2019 18:22 
Offline
jaAdmin
Benutzeravatar

Registriert: 13.09.2004 17:48
Du willst aus einem Programm heraus Zugriff auf ein Verzeichnis erlangen, auf das der User der das Programm startet (System) erstmal keinen Zugriff hat. Wenn ich richtig verstanden habe...

Versuch macht kluch

Versuch mal Examinedirectory() mit der UNC-Pfadangabe

_________________
‮pb aktuell5.7 - windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: ExamineDirectory() als anderer Benutzer (und Passwort)
BeitragVerfasst: 05.12.2019 20:53 
Offline
Benutzeravatar

Registriert: 27.01.2016 11:08
Wohnort: BY
Das mache ich sowieso. Nur scheitert der Aufruf.. :|

_________________
Never change a running system - Never run a changed system!
(PB 5.62 [x86] und PB 5.71 [x86])


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: ExamineDirectory() als anderer Benutzer (und Passwort)
BeitragVerfasst: 06.12.2019 13:07 
Offline
jaAdmin
Benutzeravatar

Registriert: 13.09.2004 17:48
Ich nehme an die Zugangsdaten zur Freigabe sind bekannt.
Eine Möglichkeit wäre das Du vor Examinedirectory ein "net use ..." per cmd-Script absetzt

net use \\192.168.1.45\datenverzeichnis UserPasswort /user:Username
(Da gibt es mit Sicherheit andere M;öglichkeiten
diese net use Geschichte stellt sich bei mir dann so dar, dass der Explorer das nicht unbedingt mitbekommt, gerne bleibt der trotz ausloggen
an der Freigabe so angemeldet.

hier mal ein code der bei mir so läuft
Code:
server.s="\\IPDESENTFERNETENRECHNERS"
USER.s="HIERDERUSER"
PW.s="HIERDASPASSWORT"
ausloggen.s="net use "+server+"/IPC$ /Delete /Yes"
einloggen.s="net use "+server+" "+PW+" /User:"+USER

RunProgram("cmd","/c "+einloggen,"",#PB_Program_Wait)

;auf Buchhaltung habe ich normalerweise keinen Zugriff, als anderer User dann schon
ExamineDirectory(0,server+"\Buchhaltung","*.*")

While NextDirectoryEntry(0)
  If DirectoryEntryType(0) = #PB_DirectoryEntry_File
    Type$ = "[File] "
    Size$ = " (Size: " + DirectoryEntrySize(0) + ")"
  Else
    Type$ = "[Directory] "
    Size$ = "" ; A directory doesn't have a size
  EndIf
 
  Debug Type$ + DirectoryEntryName(0) + Size$
Wend
FinishDirectory(0)

RunProgram("cmd","/c "+ausloggen,"",#PB_Program_Wait)

;Nochmalchecken ob tatsächlich ausgeloggt wurde
;DAS MAG BEI MIR NICHT UNBEDINGT KLAPPEN, BLEIBT MEIST EINGELOGGT

ExamineDirectory(0,server+"\Buchhaltung","*.*")

While NextDirectoryEntry(0)
  If DirectoryEntryType(0) = #PB_DirectoryEntry_File
    Type$ = "[File] "
    Size$ = " (Size: " + DirectoryEntrySize(0) + ")"
  Else
    Type$ = "[Directory] "
    Size$ = "" ; A directory doesn't have a size
  EndIf
 
  Debug Type$ + DirectoryEntryName(0) + Size$
Wend
FinishDirectory(0)


Runprogramm kann auch #PB_Hide , dann flackerts weniger.

_________________
‮pb aktuell5.7 - windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: ExamineDirectory() als anderer Benutzer (und Passwort)
BeitragVerfasst: 06.12.2019 13:34 
Offline
Benutzeravatar

Registriert: 27.01.2016 11:08
Wohnort: BY
Vielen Dank für deinen Tipp, aber das mache ich jetzt im Prinzip schon so.
Meine Frage war, ob das nicht in PB eleganter zu lösen ist..? :wink:

_________________
Never change a running system - Never run a changed system!
(PB 5.62 [x86] und PB 5.71 [x86])


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: ExamineDirectory() als anderer Benutzer (und Passwort)
BeitragVerfasst: 06.12.2019 15:56 
Offline
jaAdmin
Benutzeravatar

Registriert: 13.09.2004 17:48
achso ..

Gibt es denn irgendwo eine elegante Lösung für sowas ?

ich hab für c++ sowas gefunden
https://stackoverflow.com/questions/232 ... ng-win32-c
im Prinzip letztlich auch mit dem Problem das bereits bestehende Verbindungen querhauen.
Da bin ich zu doof für um das in pb zu übersetzen.

_________________
‮pb aktuell5.7 - windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: ExamineDirectory() als anderer Benutzer (und Passwort)
BeitragVerfasst: 10.12.2019 20:23 
Offline
Benutzeravatar

Registriert: 27.01.2016 11:08
Wohnort: BY
Ansonsten hat keiner eine Idee..? :(

Mittlerweile weiß ich auch, dass ich keinesfalls - wenn auch nur temporär - ein Netzlaufwerk
einbinden darf, da der User keinen direkten Zugriff auf den Share erlangen darf.. :roll:

_________________
Never change a running system - Never run a changed system!
(PB 5.62 [x86] und PB 5.71 [x86])


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 9 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 5 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  
cron

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye