Top-Themen

Aktuelle Themen (A bis Z)

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

gelöst Netzlaufwerke verbinden C

Mitglied: lowbyte1

lowbyte1 (Level 2) - Jetzt verbinden

03.09.2007, aktualisiert 01.10.2007, 8994 Aufrufe, 19 Kommentare

Hallo C Freaks

Ich möchte ein Netzlaufwerk verbinden.
Da ich noch nicht soviel erfahrung mit Netzwerkprogrammierung in C habe,bediente ich mich der Funktion
System(), der ich ein Consolen Befehl übergeben kann.Doch leider funktionierts so nicht,kann mir jemand helfen?




#include <stdio.h>

int system();

int main(void)

{
char c;
printf("bitte geben sie ein password ein:");
while( (c = getc(stdin)) !='\n');

system("net use s: \\\\172.16.0.2\\\Music %c /u:lowbyte >NUL, c" );
getchar();
return 0;
}
Mitglied: gnarff
03.09.2007 um 03:45 Uhr
Da gibt es doch ein schoenes Tutorial zum Thema Netzwerkprogrammierung in C

saludos
gnarff
Bitte warten ..
Mitglied: lowbyte1
03.09.2007 um 03:51 Uhr
hallo

Unterlagen habe ich genug,
doch möchte es halt so lösen !

mfg lb
Bitte warten ..
Mitglied: gnarff
03.09.2007 um 03:57 Uhr
Was ist es denn fuer ein Netzlaufwerkstyp?
Welche Plattform?
Bitte warten ..
Mitglied: lowbyte1
03.09.2007 um 04:05 Uhr
hallo das musst du ja nicht umbedingt wissen..

Console: net use K: \\IP\Folder Pass /u:user

File server mit AD.

Jetz möchte ich eifach den obigen Befehl ausführen mit der funktion System() von C.


ps:Das ganze funktioniert alles do das problem ist ich kann der Funktion System() keine Variable übergeben¨! wie password


mfg lb
Bitte warten ..
Mitglied: gnarff
03.09.2007 um 04:15 Uhr
Denke mal daran, wann man einen Wert, einen Zeiger oder eine Referenz als Parameter uebergibt...
Bitte warten ..
Mitglied: lowbyte1
03.09.2007 um 04:19 Uhr
hallo


So würde es gehen..



#include <stdio.h>

int system();

int main(void)

{

system("net use s: \\\\172.16.0.2\\\Music pass /u:lowbyte >NUL" );
getchar();
return 0;
}


Aber ich möchte ja pass und user ändern können.!?

mfg lowbyte
Bitte warten ..
Mitglied: gnarff
03.09.2007 um 04:30 Uhr
Wo sind die bisher geschrieben?
Dazu musst Du ja eine Zeichenkette in eine Datei schreiben koennen, bzw. die alten Werte ueberschreiben...das sehe ich in Deinem Script nicht...
Bitte warten ..
Mitglied: lowbyte1
03.09.2007 um 04:37 Uhr
hallo ich möchte nur das wissen was ich gefragt habe!

#include <stdio.h>

int system();

int main(void)

{
char c;
printf("geben sie ein password ein:");
while( (c = getc(stdin)) !='\n');

printf("hall %s", &c);
system("net use s: \\\\172.16.0.2\\\Music %c /u:lowbyte >>test12.txt", &c);
getchar();
return 0;
}
Bitte warten ..
Mitglied: gnarff
03.09.2007 um 04:44 Uhr
Schon ein wenig besser...
Hast Du Dich schon einmal eingehender mit Input/Output und File-Manipulation beschaeftigt?
Ich beantworte Dir doch Deine Fragen...
Bitte warten ..
Mitglied: lowbyte1
03.09.2007 um 04:55 Uhr
hallo

Ich Programmiere erst seit etwa 1 Monat C und bin noch nicht gerade der Held darin.
Wie sieht den deine Lösung aus.?

mfg lowbyte
Bitte warten ..
Mitglied: gnarff
03.09.2007 um 05:04 Uhr
Deine Loesung ist doch gar nicht schlecht...
Was moechtest Du.. ein Passwort und einen Benutzernamen aendern, also zwei Strings in einer Datei abaendern.
Wo also liegt der Username und wo das Passwort, muss man sich fragen...
Und, wie fuehre ich I/O File Manipulationen unter stdio.h aus...

Ich kann nur Cobol, Fortran und Algol ...fuer andere Sprachen muss ich mich durch Befehls-Referenzen quaelen...

saludos
gnarff
Bitte warten ..
Mitglied: lowbyte1
03.09.2007 um 05:31 Uhr
hallo

#include <stdio.h>

int system();

int main(void)

{
char c;
printf("geben sie ein password ein:");
while( (c = getc(stdin)) !='\n');

system("net use s: \\\\172.16.0.2\\\Music %c /u:lowbyte >NUL", &c);
getchar();
return 0;
}



So müsste es sein.
Aber es funktioniert nicht..
weil die system() funktion %c nicht formatiert.
Bitte warten ..
Mitglied: gnarff
03.09.2007 um 06:07 Uhr
Imho fehlt die <stdlib.h>
Vllt. moechtest Du Dir auch einmal die Benutzung von system() genau betrachten
saludos
gnarff
Bitte warten ..
Mitglied: lowbyte1
03.09.2007 um 06:18 Uhr
hallo

Also funktioniert das mit system() nicht!
so wie ich das verstanden habe.Jedenfals nicht mit variablem pass und user etc...

mfg lowbyte
Bitte warten ..
Mitglied: Guenni
09.09.2007 um 09:48 Uhr
@lowbyte1

Hi,

du kannst die Kommandozeile Stück für Stück
zusammensetzen, und dann die Variable komplett
an system übergeben.

01.
char ordner[64]; 
02.
char pass[8]; 
03.
char user[16]; 
04.
strcpy(ordner,"net use z: \\\\server\\system"); 
05.
strcpy(user,"/user:guenni"); 
06.
//Passwort eingeben 
07.
scanf("%s",pass); 
08.
//Leerzeichen anhängen 
09.
strcat(ordner," "); 
10.
//Passwort anhängen 
11.
strcat(ordner,pass); 
12.
//Leerzeichen anhängen 
13.
strcat(ordner," "); 
14.
//User anhängen 
15.
strcat(ordner,user); 
16.
//Testausgabe 
17.
//printf("%s\n",ordner); 
18.
system(ordner); 
19.
return 0;
Gruß
Günni
Bitte warten ..
Mitglied: lowbyte1
14.09.2007 um 21:56 Uhr
hallo Günni

Danke für die Kompetente Antwort.



lowbyte
Bitte warten ..
Mitglied: lowbyte1
01.10.2007 um 10:49 Uhr
HALLO

Da ich immer wie geschickter in C werde...dachte ich ich Poste mal mein kleines Programm
zum Netzlaufwerke verbinden.Das Prog,ist auf jeden fall zu verbessern.auserdem ist es auf mich zugeschnitten, von dem her.....
01.
#include <stdio.h> 
02.
#include <string.h> 
03.
#include <stdlib.h> 
04.
 
05.
#define EXIT	0 
06.
#define FAILURE	1 
07.
#define MAX		100 
08.
#define CLS		system("cls"); 
09.
 
10.
char authpuffer[150]; 
11.
char user[16]; 
12.
char passwd[31]; 
13.
 
14.
char *devices[] = {  "net use T: \\\\172.16.0.2\\MOVIES", 
15.
                     "net use V: \\\\172.16.0.2\\MOVIES1", 
16.
                     "net use W: \\\\172.16.0.2\\MOVIES2", 
17.
                     "net use X: \\\\172.16.0.2\\PROGRAMME", 
18.
                     "net use Y: \\\\172.16.0.2\\DIV", 
19.
                     "net use S: \\\\172.16.0.2\\Music" }; 
20.
 
21.
int connection(void); 
22.
int disconnection(void); 
23.
void status(void); 
24.
void load(void); 
25.
short auth(dev_id); 
26.
 
27.
 
28.
int system(); 
29.
 
30.
int main(void) 
31.
32.
 
33.
		int menuop; 
34.
 
35.
		system("Color 0a && Title Secure Fileserver Client ver.1.31"); 
36.
		load(); 
37.
		system("CLS"); 
38.
 
39.
		ret : puts("\a"); 	CLS; 
40.
	 
41.
 
42.
		printf("\n\n  --   Net-device-Client   --   \n");         
43.
 
44.
 
45.
		puts("\n\n"); 
46.
 
47.
		printf(" [1] Connection\n\n"); 
48.
 
49.
		printf(" [2] Disconnect\n\n"); 
50.
 
51.
		printf(" [3] Server-Status\n\n"); 
52.
 
53.
		printf(" [0] Exit\n\n"); 
54.
 
55.
 
56.
		printf("Input:"); 
57.
 
58.
		scanf("%1i", &menuop); 
59.
		fflush(stdin); 
60.
	 
61.
 
62.
		switch(menuop) { 
63.
 
64.
			case 1:	connection(); 
65.
					goto ret; 
66.
 
67.
			case 2: disconnection(); 
68.
					goto ret; 
69.
 
70.
			case 3: status(); 
71.
					goto ret; 
72.
 
73.
			case 0:	return EXIT; 
74.
 
75.
					default:fprintf(stderr,"falsche eingabe !!"); 
76.
				 
77.
78.
 
79.
     goto ret; 
80.
81.
 
82.
// Connection  
83.
 
84.
int connection() 
85.
86.
		char yn; 
87.
		int i, x; 
88.
//		short reply; 
89.
 
90.
		printf("\a"); 
91.
		CLS; 
92.
		printf("\nNetzlaufwerke verbinden ? (y/n)\n\n"); 
93.
		scanf("%1c", &yn); 
94.
	 
95.
		if(yn == 'y'){ 
96.
 
97.
		CLS; 
98.
 
99.
		printf("\n\nBitte Authentifizieren\n"); 
100.
 
101.
		printf("\nUsername eingeben:\n"); 
102.
		scanf("%15s",&user); 
103.
		fflush(stdin); 
104.
		printf("\nPassword eingeben:\n"); 
105.
		scanf("%30s", &passwd); 
106.
		fflush(stdin); 
107.
 
108.
		system("net use /persistent:no >nul"); 
109.
 
110.
		for(x=0 ; x<6 ; x++) { 
111.
			if(auth(devices[x])) { 
112.
				fprintf(stderr,"ein netzlaufwerk verbindung gescheitert ..."); 
113.
114.
 
115.
116.
 
117.
				fprintf(stderr,"netzlaufwerk erfolgreich verbunden ..."); 
118.
 
119.
 
120.
 
121.
				for(i = 0;(i < 800000000l); i++); 
122.
123.
 
124.
				return EXIT; 
125.
 
126.
 
127.
128.
 
129.
			else if(yn == 'n');{ 
130.
				return EXIT; 
131.
132.
 
133.
		printf("falsches zeichen"); 
134.
 
135.
		for(i = 0;(i < 800000000l); i++); 
136.
137.
		 
138.
 
139.
		  return EXIT; 
140.
		 
141.
142.
 
143.
 
144.
 
145.
 
146.
// Disconnect 
147.
 
148.
 
149.
int disconnection() 
150.
151.
		char yn; 
152.
		long i; 
153.
		CLS; 
154.
			puts("\n"); 
155.
			sp:printf("\a");  
156.
			printf("\n\nNetzlaufwerke trennen ? (y/n)\n\n"); 
157.
			scanf("%1c", &yn); 
158.
			fflush(stdin); 
159.
			CLS; 
160.
	 
161.
		if(yn == 'y'){ 
162.
 
163.
			system("net use T: /delete >nul"); 
164.
			system("net use V: /delete >nul"); 
165.
			system("net use W: /delete >nul"); 
166.
			system("net use X: /delete >nul"); 
167.
			system("net use Y: /delete >nul"); 
168.
 
169.
			if( !(system("net use S: /delete >nul"))){ 
170.
 
171.
					printf("Netzlaufwerke wurden getrennt ..."); 
172.
 
173.
			}else{ 
174.
 
175.
					CLS; 
176.
					fprintf(stderr,"\nFehler bei der Netzlaufwerk trennung"); 
177.
178.
 
179.
				for(i = 0;i < 800000000; i++) 
180.
181.
				return EXIT; 
182.
183.
			 
184.
			else if(yn == 'n'){ 
185.
 
186.
				return EXIT; 
187.
188.
 
189.
			 
190.
			printf("FALSCHES ZEICHEN"); 
191.
			for(i = 0;i < 800000000; i++);						; 
192.
			CLS; 
193.
			goto sp; 
194.
				 
195.
196.
 
197.
 
198.
 
199.
 
200.
//Server-Status 
201.
 
202.
 
203.
void status(void) 
204.
205.
	long i; 
206.
	CLS; 
207.
	if(system("ping -n 1 -w 10 172.16.0.2>nul") == 0) 
208.
			printf("\n\n Server 172.16.0.2 Online \n\n"); 
209.
				else 
210.
			printf("\n\n Server 172.16.0.2 Offline\n\n"); 
211.
 
212.
		for(i = 0;(i++ < 800000000l);) 
213.
214.
215.
 
216.
 
217.
// Loading-Funktion 
218.
 
219.
 
220.
void load(void) 
221.
222.
	char buffer[]= "LOADING"; 
223.
	int zahl = 0; 
224.
 
225.
			do 
226.
227.
				printf("%d%%", zahl); 
228.
				CLS; 
229.
				printf("\n\n\n\n\n\t%s\t", &buffer); 
230.
				zahl++; 
231.
232.
		while(zahl < MAX); 
233.
 
234.
235.
 
236.
 
237.
  
238.
short auth(char *device) 
239.
240.
 
241.
 
242.
		strcpy(authpuffer, device); 
243.
		strcat(authpuffer, " "); 
244.
		strcat(authpuffer, passwd); 
245.
		strcat(authpuffer, " /u:");  
246.
		strcat(authpuffer, user); 
247.
		strcat(authpuffer, " >NUL"); 
248.
 
249.
		if(!(system(authpuffer))){ 
250.
		 
251.
			return EXIT; 
252.
 
253.
		} else { 
254.
			 
255.
			return FAILURE; 
256.
 
257.
258.
 
259.
260.
 
261.
 

// greetz lowbyte
Bitte warten ..
Mitglied: gnarff
01.10.2007 um 15:43 Uhr
Da haben wir ja endlich stdlib.h und auch system() wird nun richtig angewandt...;)
Bitte warten ..
Mitglied: lowbyte1
01.10.2007 um 20:48 Uhr
hey alter kumpel...

ja sieht fast danach aus was !!

cyu lowbyte
Bitte warten ..
Ähnliche Inhalte
Windows Server
Netzlaufwerke verbinden sich nicht
Frage von MyBRis4ShotWindows Server6 Kommentare

Hallo, wie der Titel schon sagt, habe ich aktuell Probleme mit dem automatischen Verbinden von Netzlaufwerken. Der Kunde arbeitet ...

Windows Server
Active Directory Netzlaufwerke verbinden
gelöst Frage von Florian86Windows Server2 Kommentare

Hallo, beim Netzlaufwerke verbinden über die AD im 2012 Server bekomme ich beim Anmelden immer die Fehler ID:1055 Fehler ...

SAN, NAS, DAS

Netzlaufwerk verbinden - komisches Verhalten

Frage von duschgasSAN, NAS, DAS15 Kommentare

Guten Tag, ich habe einen root-Server bei einem Hoster und dort einen Ordner freigegeben. Mit meinem Laptop im WLAN ...

Windows 10

Netzlaufwerk unter Windows 10 verbinden

gelöst Frage von TiTuxWindows 104 Kommentare

Hallo, leider habe ich nirgends die Möglichkeit im Explorer gefunden, mich dauerhaft mit einem Netzlaufwerk zu verbinden. Jemand eine ...

Neue Wissensbeiträge
Drucker und Scanner
HP-MF-Drucker per Fax angreifbsr
Information von Lochkartenstanzer vor 19 StundenDrucker und Scanner

Endlich eine sinnvolle Verwendung für Faxe: Damit kann man offensichtlich den Drucker übernehmen. lks

Router & Routing

Das pfSense Buch ist jetzt für jeden kostenlos zu beziehen

Tipp von magicteddy vor 1 TagRouter & Routing2 Kommentare

Bisher war das Buch nur für zahlende Unterstützer verfügbar, jetzt steht für Jedermann kostenlos zur Verfügung. Siehe auch The ...

Firewall

Möglicherweise neue Sicherheitslücke in Mikrotik-Firmware

Information von LordGurke vor 3 TagenFirewall3 Kommentare

Hallo zusammen, vor ein paar Monaten gab es ja bereits eine Sicherheitslücke in der Firmware von Mikrotik-Routern, über welche ...

Erkennung und -Abwehr
Rechner hacken mit Cortana, auch Remote
Information von Lochkartenstanzer vor 4 TagenErkennung und -Abwehr3 Kommentare

heise berichtet über den Vortrag von der Blackhat Open Sesame: Picking Locks with Cortana. Einige Fehler sind schon gefixt, ...

Heiß diskutierte Inhalte
Windows Netzwerk
Performance bei Terminalserver
Frage von azizalexanderWindows Netzwerk20 Kommentare

Hallo zusammen, Ich wusste nicht in welches Thema meine Frage passt ich Bitte um Vergebung falls ich hier falsch ...

Exchange Server
Exchange 2013 - Unable to Relay nach extern, SuperMailer
Frage von leon123Exchange Server16 Kommentare

Hallo zusammen, ich brauch mal wieder eure Hilfe. Ich beschäftige mich gerade mit dem SuperMailer und erhalte vom Exchange ...

CPU, RAM, Mainboards
Xeon E5620: noch schnell genug?
Frage von ahussainCPU, RAM, Mainboards15 Kommentare

Hallo allerseits, ich habe die Möglichkeit, aus Restbeständen einen Tower mit Xeon E5620 CPU und 24 GB RAM zu ...

Peripheriegeräte
Steckdose(nleiste) mit Schwellwert für off und mit externem Taster
Frage von ahstaxPeripheriegeräte15 Kommentare

Hallo, ich suche eine Steckdose oder Steckdosenleiste mit externem Taster und Schwellwerterkennung. Zu realisieren ist folgendes: Ein PC soll ...