高手進來:如何在受限帐户内以administrator身份运行某一个程序?(在知道用戶名和密碼的情況下) 

解决方案 »

  1.   

    用CreateProcessWithLogonW见我回过的:http://topic.csdn.net/t/20051215/15/4461195.html
      

  2.   

    如果是電腦在加入網域後,是不是還要對它登錄類型進行判斷或者是指定?
    例:我們公司大多電腦是加入了網域,如果要執行或安裝某個程序,它必須注銷以管理員的身份執行;但是,還有一種方法,就是:在程序點擊右鍵-->選擇‘執行身份’-->輸入密碼(用戶名默認為Administrator,密碼我知道)-->執行效果它和Administrator是相同的!
    補充:不知道在電腦加入網域後,能否實現這種效果(如問題)?
    注:網域的登錄形式:
               用戶名:以電腦自身的電腦名稱;                用戶名:Administrator;
    <域>---->   密碼:1234               <Administrator>----->密碼:123789369147
                登錄到網域:kyedg                            登錄到:本機
      

  3.   

    To keiy():我今天也用你的方法做了一个测试,在运行过程中提示(编译时不报错), 
    System Error.  Code: 2.
    系统找不到指定的文件。.我的wApplicationName属性是这样设置的,对吗?
    wApplicationName   :=   'D:\程序设计\新建文件夹\PMain.exe';我改成wApplicationName   :=   'PMain.exe';也报这样的错。
      

  4.   

    To Keiy():
    我測試的時候,結果如下:
    1.我的電腦沒有加域(有Admin權限),如果用我的Admin密碼它可以正常運行,不報錯;
    2.在加入域的電腦(登入方式:用戶名<電腦名稱>;密碼:1234;登錄到網域:KYEDG),我有修改用戶名登錄密碼(Admin身份),報錯:System Error.Code:1326.登錄失敗:未知的用戶名和錯誤密碼總結:
    我懷疑是登錄方式的問題,一個是登錄到網域,另一個是登錄到本機;報錯原因可能在這裡?但不知道如何賦於網用戶於管理員權限,可否使在域下面用代碼寫入:(登錄到用戶名和密碼再加它的登錄方式是到本機?)
        請Keiy繼續指教?
    MSN:[email protected]
      

  5.   

    不行!
    讓他們的電腦加入網域;目的就是為了統一管理,不能有本機管理員的權限!
    不知道代碼可否實現提升網域用戶的權限的!
    請大家幫頂!
    問題多多,滿意多多!
    UP...UP...UP
      

  6.   

    还是调用RunAs最简单
    呵呵~
      

  7.   

    我的贴子里就有runas的应用.
    另外,如果你是域,如果域上设置了禁用本地administrator,除非你用域管理器的administrator,否则是没有方法改本地权限的
      

  8.   

    難道域中(在不注銷當前域帳戶或以Admin的管理身份的情況下)就不能以Admin的身份執行一個程序?
    有些郁悶了......無奈了..........彷徨了..........絕望了..........
      

  9.   

    To Keiy():以下代碼
    procedure TForm1.Button1Click(Sender: TObject);
    var
      wUsername,   wDomain,   wPassword,   wApplicationName:   WideString;
      pwUsername,   pwDomain,   pwPassword,   pwApplicationName:   PWideChar;
      StartupInfo:   TStartupInfo;
      ProcessInfo:   TProcessInformation;
    begin
      wUsername:='administrator';
       wDomain:='kyedg.com';
       wPassword:='qwertyuiop';
       wApplicationName:='serverp.exe';
       pwUsername:=Addr(wUsername[1]);
       pwDomain:=Addr(wDomain[1]);
       pwPassword:=Addr(wPassword[1]);
       pwApplicationName:=Addr(wApplicationName[1]);
          
       FillChar(StartupInfo,SizeOf(TStartupInfo),0);
       StartupInfo.cb:=SizeOf(TStartupInfo);
       if   not   CreateProcessWithLogon(pwUsername,pwDomain,pwPassword,LOGON_WITH_PROFILE,
       pwApplicationName,nil,CREATE_DEFAULT_ERROR_MODE,
       nil,nil,StartupInfo,ProcessInfo)  then
       RaiseLastOSError;
    end;
    為何報以下的錯誤???
    System Error Code:1326.
    登入失敗:不明的使用者名稱或錯誤密碼!
      

  10.   

    程序看不出有什么错,检查你的域名/密码,你直接用windows登录到域试试,也可用runas 试一下
      

  11.   

    To KEiy()
      域名和密碼已經確認檢查無誤!
      用戶名:Administrator
      域名:kyedg.com
      密碼:qwertyuiop
    以上問題是從域登錄到Windows,我把域名:kyedg.com改為Workgroup也不行?
    其實是實現:在域中執行EXE文件時,Mouse右擊EXE文件-->選擇‘執行身份’-->以Administrator身份執行並輸入密碼-->qwertyuiop即可!
    不知為何會報錯???
    Runas不知道如何使用和執行?請To KEiy()繼續指教?
      

  12.   

    我这里没有域的环境,没法测试
    1.改域名为''试试
    2.查服务器的域名,它应该有两种方式,1是'kyedg.com'形式,2是与老的NET BIOS兼容方式(不带.com的)
    runas的语法为:
    runas /env /user:[email protected] 'serverp.exe'
    它会要求输入密码
      

  13.   

    以上兩利方法測試都無效!
        To Keiy()
        MSN:[email protected]