Как мне выполнить сетевой вход в систему, например, для доступа к общему драйверу программно в c #? То же самое может быть достигнуто либо попыткой открыть общий ресурс через проводник, либо командой net use shell.
P / Invoke вызов WNetAddConnection2 поможет. Смотрите здесь для получения дополнительной информации.
[DllImport("mpr.dll")] public static extern int WNetAddConnection2A ( [MarshalAs(UnmanagedType.LPArray)] NETRESOURCEA[] lpNetResource, [MarshalAs(UnmanagedType.LPStr)] string lpPassword, [MarshalAs(UnmanagedType.LPStr)] string UserName, int dwFlags );
Вам нужно использовать Windows Identity Impersonation, посмотрите эти ссылки http://blogs.msdn.com/shawnfa/archive/2005/03/21/400088.aspx http://blogs.msdn.com/saurabhkv/archive/2008/05/29/windowsidentity-impersonation-using-c-code.aspx