Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Netzlaufwerk als anderer Benutzer verbinden und benutzen

Frage Entwicklung VB for Applications

Mitglied: ReiniX

ReiniX (Level 1) - Jetzt verbinden

28.05.2009, aktualisiert 14:21 Uhr, 8782 Aufrufe, 11 Kommentare, 1 Danke

Hallo,

ich habe das Problem, dass unter Windows Netzlaufwerke per user gemaped werden.
Das heißt wenn ich es als user A verbinde, ist es für user B nicht verfügbar.

Ich habe eine Anwendung, die als Administrator ausgeführt werden muss aber vom Benutzer gestartet werden soll.

Nun dachte ich mir ok ... erstelle ich ein Process objekt. Gebe dem Benutzername und Passwort, mappe das laufwerk und führe danach mein programm aus.
Pustekuchen!
Irgendwie ist das Laufwerk nach dem 1. WaitForExit schon nicht mehr verfügbar

01.
using System; 
02.
using System.Collections.Generic; 
03.
using System.Linq; 
04.
using System.Text; 
05.
using System.Diagnostics; 
06.
using System.Globalization; 
07.
using System.IO; 
08.
 
09.
namespace ConsoleApplication1 
10.
11.
    class Program 
12.
13.
        static void Main(string[] args) 
14.
15.
            Process P = new Process(); 
16.
            //P.StartInfo.RedirectStandardOutput = true; 
17.
            P.StartInfo.UseShellExecute = false; 
18.
            P.StartInfo.LoadUserProfile = true; 
19.
            P.StartInfo.UserName = "Administrator"; 
20.
            P.StartInfo.Domain = "RECHNERNAME"; 
21.
            System.Security.SecureString password = new System.Security.SecureString(); 
22.
            string pw = "MeinPasswort"; 
23.
            foreach (char c in pw) 
24.
                password.AppendChar(c); 
25.
            P.StartInfo.Password = password; 
26.
 
27.
            //Net Use 
28.
            P.StartInfo.FileName = Environment.SystemDirectory + "\\cmd.exe"; 
29.
            P.StartInfo.Arguments = "/k net use y: \\\\SR1NV99\\d$\\DSL-Snapshots ADMINPASSWORT /USER:SR1NV99\\Administrator /PERSISTENT:yes"; 
30.
            Console.WriteLine(P.StartInfo.Arguments); 
31.
            P.Start(); 
32.
            //Console.WriteLine(P.StandardOutput.ReadToEnd()); 
33.
            P.WaitForExit(); 
34.
 
35.
            //Check 
36.
            //Console.WriteLine(Directory.Exists("Y:\\")); 
37.
 
38.
            //Snapshot 
39.
            P.StartInfo.FileName = "C:\\Local\\csharpsnap\\snapshot.exe"; 
40.
            P.StartInfo.Arguments = "C: Y:\\test.sna"; 
41.
            Console.WriteLine(P.StartInfo.Arguments); 
42.
            P.Start(); 
43.
            //Console.WriteLine(P.StandardOutput.ReadToEnd()); 
44.
            P.WaitForExit(); 
45.
 
46.
            //Net Use Del 
47.
            //P.StartInfo.FileName = Environment.SystemDirectory + "\\cmd.exe"; 
48.
            //P.StartInfo.Arguments = "/k net use y: /del"; 
49.
            //Console.WriteLine(P.StartInfo.Arguments); 
50.
            //P.Start(); 
51.
            ////Console.WriteLine(P.StandardOutput.ReadToEnd()); 
52.
            //P.WaitForExit(); 
53.
 
54.
            Console.ReadLine(); 
55.
 
56.
57.
58.
}
(entwickle in c# aber die klassen und funktionsweise sollte ja die gleiche sein)

Hat jemand eine Idee wie ich das lösen könnte?
Mitglied: ottscho
28.05.2009 um 14:24 Uhr
Bei deinem Code kann ich dir leider nicht weiterhelfen. Aber warum benutzt du keine normalen Freigaben in Verbindung mit Loginscripte?
Bitte warten ..
Mitglied: jadefalke
28.05.2009 um 15:54 Uhr
Hallo,

mail eine Frage vorweg.
Benötigst du Hilfe weil deine Netzlaufwerke auf ein Windows System nicht gemappt werden, sprich der User kann nicht arbeiten weil er seine Laufwerke nicht hat, oder benötigst du Hilfe weil du gerade in C+ programmierst und du den net use Befehl gerne in dein Programm implementieren möchtest.

Denn falls du deine Netzlaufwerke wirklich mit einem selbstgeschreibenes Programm in C+ an den User weitergibst... hm ja, wer es kann, der kanns auch so machen, jedoch ist es so dass M$ schon sich darüber Gedanken gemacht und deren Möglichkeit sind doch recht in Ordnung.

Ansonsten denke ich, solltest du prüfen ob die Laufwerke die du an die User verbinden möchstest auch nach M$ Lehrbuch freigegeben sind.
Da du nicht spezifiziert hast was für ein Windows System das ist, gehe ich einfach davon aus dass die HDD´s NTFS partitioniert sind und dass du auch NTFS Berechtigung gesetzt hast.

Dürfen die User darauf zugreifen?
Gibt es eine User Begrenzung (im Reiter "Freigaben")
Bitte warten ..
Mitglied: 51705
28.05.2009 um 20:06 Uhr
Hallo ReiniX,

versuche mal statt des Servernamen die IP-Adresse.

Grüße, Steffen
Bitte warten ..
Mitglied: DerWoWusste
28.05.2009 um 23:20 Uhr
Ich habe eine Anwendung, die als Administrator ausgeführt werden muss aber vom Benutzer gestartet werden soll.
Beschreib die Anforderung näher, vielleicht ist dies ganz einfach zu lösen.
Bitte warten ..
Mitglied: ReiniX
29.05.2009 um 06:58 Uhr
- Habe eine Hand voll Rechner, von denen ein Wöchentliches Image erstellt werden soll.
- Es gibt 2 Versionen von dem Image. Woche 1 und Woche 2.
- Das Image soll auf einem Netzlaufwerk abgelegt werden
- Für die Freigabe wird benutzername und passwort benötigt
- Es handelt sich um eine Arbeitsgruppe, keine Domäne
- Es muss sicher gestellt werden, dass das Image gemacht wird falls jemand den Computer verwendet
- Wake on Lan geht nicht, da der rechner mit PGP-Whole-Disk-Encryption verschlüsslt ist (fährt nicht hoch ohne passworeingabe - vergleichbar mit biospassort)
- Logonscript mag ich nicht, da das imagen doch beim arbeiten stört
- Geplante Tasks kann man leider nicht auf "Shutdown" oder "Logoff" triggern
- Einzige mötlichkeit ist da wie ich sehe das Logoffscript. Bei dem kann man aber leider nicht angeben, unter welchem benutzer es ausgeführt werden soll
- Das Tool mit dem ich sichere ist von drivesnapshot.com
- Das Tool startet nicht, wenn es keine administrativen rechte hat
Bitte warten ..
Mitglied: 78632
29.05.2009 um 10:38 Uhr
Zum Starten einer Anwendung mit Adminrechten kannst du runas verwenden, auch im Logoffscript.

Einfacher wäre allerdings, du fährst den Rechner über einen Batch herunter, in dem du erst über runas deine Anwendung starten lässt, das Backup abwartest und anschließend den shutdown-Befehl ausführen lässt.

Hilfe mit runas /? und shutdown /?
Bitte warten ..
Mitglied: 51705
29.05.2009 um 11:02 Uhr
Hallo,

das Problem ist doch, daß nicht zwei Verbindungen mit unterschiedlichen Credentials zum gleichen Server hergestellt werden können (daher der Tip mit der IP-Adresse).

Grüße, Steffen
Bitte warten ..
Mitglied: DerWoWusste
29.05.2009 um 11:17 Uhr
Trifft sich gut. Genauso machen wir das auch mit drive snapshot. Lass Dir gesagt sein: es stört nicht im laufenden Betrieb, denn der geplante Task (so machen wir das) startet mit niedriger Priorität.
Bitte warten ..
Mitglied: ReiniX
29.05.2009 um 12:26 Uhr
Runas kann man per script kein Passwort übergeben!
Bitte warten ..
Mitglied: 78632
29.05.2009 um 12:30 Uhr
Da hast du Recht, daran habe ich nicht gedacht. Allerdings gibt es Alternativen.
http://www.administrator.de/index.php?link=2351
Meine Empfehlung wäre die GUI-Version.
Bitte warten ..
Mitglied: ReiniX
02.06.2009 um 12:42 Uhr
Meine Rechner sind nicht mehr die neusten - Snapshot merkt man doch seh stark wenn es am arbeiten ist.

Habe mir jetzt selbst eine RunAs alternative gebaut.
Scheint zu funktionieren...
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Windows 10
Surface 4 Pro Netzlaufwerk verbinden (4)

Frage von Yannosch zum Thema Windows 10 ...

SAN, NAS, DAS
Netzlaufwerk verbinden - komisches Verhalten (15)

Frage von duschgas zum Thema SAN, NAS, DAS ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (34)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...