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, 9030 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 ...

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 ...

Netzwerkmanagement

Netzlaufwerk verbinden, fremde IP

Frage von ktmanuNetzwerkmanagement5 Kommentare

Hallo zusammen, ich stehe vor einem Problem. Ich muss in unserer Domäne ein externen Netzlaufwerk verbinden - das ist ...

Neue Wissensbeiträge
Router & Routing

Endlich: Reines Kabel-TV Modem in D erhältlich !

Information von aqui vor 2 TagenRouter & Routing9 Kommentare

Mit dem Technicolor TC4400-EU Modem sind nun auch Breitband Router ohne integriertes Modem oder Firewalls wie z.B. die pfSense ...

Netzwerkgrundlagen
The Illustrated TLS Connection
Information von Lochkartenstanzer vor 3 TagenNetzwerkgrundlagen

Moin, Unter findet man eine gelungene Erläuterung von TLS. Fördert sehr das verständnis darüber, was da passiert. lks

Windows 10

Zuverlässiger Remove-AppxProvisionedPackage Ausführen in W10-1803

Tipp von NetzwerkDude vor 4 TagenWindows 104 Kommentare

Moin, Remove-AppxProvisionedPackage hat in 1709 recht zuverlässig funktioniert, in 1803 ist es leider so das es gerne mail failed ...

LAN, WAN, Wireless
Erfahrung mit dem tplink eap115-wall
Erfahrungsbericht von fisi-pjm vor 4 TagenLAN, WAN, Wireless

Die Hintergründe Als ausgebildeter Fisi und ambitionierter "Hobby ITler" bin ich Netzwerktechnisch immer auf der Suche nach "schönen" Lösungen ...

Heiß diskutierte Inhalte
Netzwerkprotokolle
OpenVPN auf dem Client Verständnisfrage
gelöst Frage von bk900042Netzwerkprotokolle23 Kommentare

Hallo Community, möchte OpenVPN benutzen, um mich über VPN per RDP zu einem Server zu verbinden und auch GIT ...

Windows Server
AD User wird immer wieder gesperrt
Frage von YellowcakeWindows Server14 Kommentare

Hey ich habe einen User (ein GL User - Natürlich was denn sonst) der immer wieder gesperrt wird. Ich ...

Netzwerkmanagement
Netzwerklaufwerk verbinden nicht möglich
gelöst Frage von SteiniMNetzwerkmanagement13 Kommentare

Hallo Leute, ich bin neu hier und brauche eure Hilfe. Danke schon mal im Voraus. Ich habe folgendes Problem: ...

Switche und Hubs
OpenSource oder Freeware zur Verwaltung von Switchen
Frage von JonskezSwitche und Hubs12 Kommentare

Hallo, gibt eine kostenlose Verwaltungssoftware für Switche (überwiegend HP/Aruba)? Es sollte möglich sein, aus der Ferne z.B. die Firmware ...