Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Сети > как зайти на диск \\comp\С$


Автор: _sten_ 21.12.2007, 14:56
 Как пройти авторизацию на \\comp\c$? Имя и пароль адимина я знаю. Когда захожу чезер проводник то все ок, вискакивает запрос авторизации, ввожу логин пароль и все ок....
 Вчасности надо просто просто скопировать один файл к которому нет шары.

ЗЫ: Никакого хаккинга, я админ в сети))

Автор: mmvds 22.12.2007, 20:56
Возможно стоит запускать стандартную утилиту runas параметры: /USER:имя_пользователя "запускаемая_программа" если с доменом, /USER:имя_пользователя@домен "запускаемая_программа" 
Вот только не знаю, можно ли в параметре "запускаемая_программа" указать "copy \\comp\c$\нужный_файл куда_копировать" или предварительно создать  bat/com файл. И еще, по-моему с сетевыми именами работает не copy, а xcopy или наоборот. 

Автор: _sten_ 23.12.2007, 09:53
А средствами Делфи возможно сделать?

Собственно придумал сделать батник:

@echo off
echo Connecting to %1
@net use \\%1\c$ /user:administrator pass
copy "\\%1\c$\Program Files\Alcatel\CCagent\cca.ini" temp.ini /y


Но свеже хотелосб бы на делфях...

Автор: mmvds 11.1.2008, 15:50
Вот нашел на http://forum.sources.ru/index.php?showtopic=91507 пример запуска программы с правами нужного пользователя:
Код

unit main; 

interface 

uses 
Windows, Messages, SysUtils, Variants, Classes, Graphics, 

Controls, Forms, 
Dialogs, StdCtrls, shellapi; 

type 
TForm1 = class(TForm) 
Button1: TButton; 
procedure Button1Click(Sender: TObject); 


private 
{ Private declarations } 
public 
{ Public declarations } 
end; 

var 
Form1: TForm1; 

implementation 
function CreateProcessWithLogonW(lpUsername : PWideChar; 
lpDomain : PWideChar; 
lpPassword : PWideChar; 
dwLogonFlags : DWORD; 
lpApplicationName : PWideChar; 
lpCommandLine : PWideChar; 
dwCreationFlags : DWORD; 
lpEnvironment : Pointer; 
lpCurrentDirectory : PWideChar; 
const lpStartupInfo : _STARTUPINFOA; 
var lpProcessInfo : PROCESS_INFORMATION): BOOL; 
stdcall; external 'advapi32.dll' name 'CreateProcessWithLogonW'; 


{$R *.dfm} 


procedure TForm1.Button1Click(Sender: TObject); 

var 
hLib:THandle; 
si : _STARTUPINFOA; 
pi : Process_Information; 
begin 
ZeroMemory(@Si,Sizeof(si)); 
si.cb:=SizeOf(si); 
CreateProcessWithLogonw('administrator',nil,'password',1,nil,'notepad',0,nil,nil,si,pi); 
end; 

end.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)