NetShareEnum oder wie kann ich alle Freigaben ermitteln

Windowsspezifisches Forum , API ,..
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
Agent
Beiträge: 296
Registriert: 13.09.2004 11:28
Kontaktdaten:

Beitrag von Agent »

Das mit dem Systemfehler war ein guter Tipp! ;-) .. ich noob...*FG*

Trotzdem folgendes:
Benutze ich den kürzeren Code oben und lasse unseren Firmen-Server scannen, kein Problem. Knapp 30 mit Namen genannte Freigaben.

Mache ich das gleiche mit dem größeren Code (der ja mehr Infos bietet) bekomme ich o.g. Systemfehler 5 (Access denied).

Warum?
Mal abgesehen davon, das mein PC auf jeden Fall Zugriff hat.
Agent_Sasori
It's not a bug - it's a feature!
http://www.StephenKalisch.de | http://www.ria-tec.com | http://www.dirsync.de
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag von bobobo »

Laß den Rechnernamen einfach weg

Code: Alles auswählen

...
ErmittleShares("")
Firewall? oder ähnliches?
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Agent
Beiträge: 296
Registriert: 13.09.2004 11:28
Kontaktdaten:

Beitrag von Agent »

Nööö....
ging ja mit der "kleinen Procedure" auch ohne Probleme.

Rechnernamen weg? Wäre ja dann localhost. Will aber den Server scannen.
Agent_Sasori
It's not a bug - it's a feature!
http://www.StephenKalisch.de | http://www.ria-tec.com | http://www.dirsync.de
Benutzeravatar
stbi
Beiträge: 685
Registriert: 31.08.2004 15:39
Wohnort: Cleverly Hills

Beitrag von stbi »

Agent hat geschrieben:Mal abgesehen davon, das mein PC auf jeden Fall Zugriff hat.
Das ist dann wohl eine falsche Annahme ... :mrgreen:

Habe den langen Code gerade eben noch mal mit verschiedenen Server gecheckt. Und auf einem Server, auf dem ich nicht Admin bin, kriege ich auch völlig korrekt den Fehler 5 für access denied. Bei allen anderen läuft es ohne Fehler.
PB 4.02 XP Pro SP2 "Der Code ist willig, aber der Prozessor ist schwach."

Es gibt keine Vista-Witze. Es ist alles wahr!
Agent
Beiträge: 296
Registriert: 13.09.2004 11:28
Kontaktdaten:

Beitrag von Agent »

@stbi: Da geb ich dir "halbrecht". Ich bin selbst der Admin im Hause. Ich hab mir nicht ALLE Rechte gegeben (durfte ich nicht :( ), wobei mir im Moment noch nicht klar ist, warum ich ein ACCESS DENIED bekomme....

ABER

Warum geht es mit der kurzen Routine? ...die Frage bleibt offen...
Agent_Sasori
It's not a bug - it's a feature!
http://www.StephenKalisch.de | http://www.ria-tec.com | http://www.dirsync.de
Benutzeravatar
stbi
Beiträge: 685
Registriert: 31.08.2004 15:39
Wohnort: Cleverly Hills

Beitrag von stbi »

Agent hat geschrieben:ABER

Warum geht es mit der kurzen Routine? ...die Frage bleibt offen...
Weil die erste Routine nur mit Level 0 abfragt (2. Parameter beim NetShareEnum-Aufruf), das gibt lediglich die Namen der Shares zurück, also nix geheimes.
Deeem2031 ruft aber mit Level 502 auf, da beinhaltet die Struktur eben mehr Infos als den reinen Share-Namen, z.B. Anzahl Benutzer, Berechtigungen usw. und da ist es völlig ok, dass das nur der Sysadmin sehen darf.

Ist bei der Net-API generell so, dass bestimmte Strukturen nur mit entsprechender Berechtigung zugreifbar sind.
PB 4.02 XP Pro SP2 "Der Code ist willig, aber der Prozessor ist schwach."

Es gibt keine Vista-Witze. Es ist alles wahr!
Agent
Beiträge: 296
Registriert: 13.09.2004 11:28
Kontaktdaten:

Beitrag von Agent »

Jetzt wo du es sagst. Hatte zwischenzeitlich noch ein wenig experimentiert. Naja, hängt wohl von der Anwenung ab, ob man nur den Namen braucht oder mehr Infos. Dann sind beide Routinen brauchbar.
Agent_Sasori
It's not a bug - it's a feature!
http://www.StephenKalisch.de | http://www.ria-tec.com | http://www.dirsync.de
Benutzeravatar
stbi
Beiträge: 685
Registriert: 31.08.2004 15:39
Wohnort: Cleverly Hills

Beitrag von stbi »

Deeem2031's Routine würde genügen, wenn die anderen Strukturen auch noch definiert wären. Das wären:

Code: Alles auswählen

struct _SHARE_INFO_0 {  LPWSTR shi0_netname;
} 

struct _SHARE_INFO_1 {  LPWSTR shi1_netname;  DWORD shi1_type;  LPWSTR shi1_remark;
}

struct _SHARE_INFO_2 {  LPWSTR shi2_netname;  DWORD shi2_type;  LPWSTR shi2_remark;  DWORD shi2_permissions;  DWORD shi2_max_uses;  DWORD shi2_current_uses;  LPWSTR shi2_path;  LPWSTR shi2_passwd;
}

struct _share_info_50 {  char shi50_netname[LM20_NNLEN+1];  unsigned char shi50_type;  unsigned short shi50_flags;  char FAR* shi50_remark;  char FAR* shi50_path;  char shi50_rw_password[SHPWLEN+1];  char shi50_ro_password[SHPWLEN+1];
}
Vielleicht gibts da ja schon in PB-verwertbarer Form, keine Ahnung, ansonsten musst Du das Programm eben auf die gewünschte Struktur umbauen.
PB 4.02 XP Pro SP2 "Der Code ist willig, aber der Prozessor ist schwach."

Es gibt keine Vista-Witze. Es ist alles wahr!
Agent
Beiträge: 296
Registriert: 13.09.2004 11:28
Kontaktdaten:

Beitrag von Agent »

@stbi: *LOL* zur Deiner Signatur!

...bin ich freilaufend? *rofl*
Agent_Sasori
It's not a bug - it's a feature!
http://www.StephenKalisch.de | http://www.ria-tec.com | http://www.dirsync.de
Benutzeravatar
stbi
Beiträge: 685
Registriert: 31.08.2004 15:39
Wohnort: Cleverly Hills

Beitrag von stbi »

Agent hat geschrieben:...bin ich freilaufend? *rofl*
Hat man Dir heute noch nicht die Käfigtüre aufgemacht? :shock: Aber hoffentlich frisches Wasser und Streu! :allright:
PB 4.02 XP Pro SP2 "Der Code ist willig, aber der Prozessor ist schwach."

Es gibt keine Vista-Witze. Es ist alles wahr!
Antworten