Windows 10 da CreateProcessAsUser ve UAC sorunu yaşıyorum ..

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
ovural
Üye
Mesajlar: 167
Kayıt: 22 Eki 2003 10:20
İletişim:

Windows 10 da CreateProcessAsUser ve UAC sorunu yaşıyorum ..

Mesaj gönderen ovural »

Servis uygulamamız var ve bir uygulamayı çalıştırıp kontrolünü sağlıyor ..

uygulamada yönetici hakları ile çalışması gerekiyor Register ve belli sistem dosyalarını kullanıyor .. ayrıca kendisini çalıştıran servisi kontrol edip durmuş ise tekrar start ediyor ..

Windows 7 de sorunsuz çalışıyor ..


ancak windows 10 da sorun yaşıyorum .. Manifest dosyamın içeriği aşağıda

Kod: Tümünü seç

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <assemblyIdentity type="win32" name="EkranKoruyucu.exe" version="3.1.0.0" processorArchitecture="*"/>
  <dependency>
    <dependentAssembly>
      <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" publicKeyToken="6595b64144ccf1df" language="*" processorArchitecture="*"/>
    </dependentAssembly>
  </dependency>
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
        </requestedPrivileges>
    </security>
  </trustInfo>
  <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
    <application>
      <!--The ID below indicates application support for Windows Vista -->
      <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
      <!--The ID below indicates application support for Windows 7 -->
      <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
      <!--The ID below indicates application support for Windows 8-->
      <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
      <!--The ID below indicates application support for Windows 8.1 -->
      <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
            <!-- Windows 10 -->
            <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>	  
    </application>
  </compatibility>
</assembly>

servis uygulamayı çalıştırmıyor daha doğrusu çalışıyor ama yöneticiyi ilgilendiren görevlerini yapamıyor ..

"the requested operation requires elevation" hatası alıyorum ..


bu konuda tecrübesi olan varmı ?
Kim ilim öğrenir sonra da onu gizlerse âhirette onun ağzına ateşten bir gem vurulur. (Hadis-i Şerif)
erolturk
Üye
Mesajlar: 14
Kayıt: 13 May 2016 04:49

Re: Windows 10 da CreateProcessAsUser ve UAC sorunu yaşıyorum ..

Mesaj gönderen erolturk »

Dostum kolay gelsin.
Servisten exe çalıştırmada sıkıntılarım var. Servisten Exe çalıştırma işini Server işletim sistemlerinde bir türlü yapamadım.
"Windows servis uygulamasının Windows kapanırken engel olması" Başlıklı soru bu konuyla alakalı ve soruyu ben sordum. İncelersen sevinirim. Kolay gelsin.
Kullanıcı avatarı
Kuri_YJ
Moderator
Mesajlar: 2247
Kayıt: 06 Ağu 2003 12:07
Konum: İstanbul
İletişim:

Re: Windows 10 da CreateProcessAsUser ve UAC sorunu yaşıyorum ..

Mesaj gönderen Kuri_YJ »

Selamlar,

İstediğiniz şey şu mudur? Bir servis programınız var ve bu servis programı, bir başka programı çalıştırırken Administrator haklarıyla çalıştırsın. Doğru mu anladım?

Eğer öyle ise şöyle bir şey deneyebilir misiniz. Servis programınızı kurduğunuzda Admin olarak kurun ve çalışırken de Admin olarak çalışmasını söyleyin. Belki de Servis programınız admin olarak çalışmadan bir diğer programı admin olarak çalıştırmasına izin verilmiyordur. Mantıken ben izin vermezdim. Yani düşünsenize, bir servisiniz var ve Admin haklarına sahip değil ama çalıştıracağı programı admin haklarıyla çalıştırıyor. Bu durumda Güvenlik Nerede? :)

Kolay Gelsin
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Kullanıcı avatarı
Kuri_YJ
Moderator
Mesajlar: 2247
Kayıt: 06 Ağu 2003 12:07
Konum: İstanbul
İletişim:

Re: Windows 10 da CreateProcessAsUser ve UAC sorunu yaşıyorum ..

Mesaj gönderen Kuri_YJ »

Tekrar Selamlar,

Stackoverfolow'da şöyle bir şey buldum.

http://stackoverflow.com/questions/3300 ... min-rights

Bir de şöyle bir şey var.

http://stackoverflow.com/questions/6808 ... min-during

Belki işinize yarar.
Kolay Gelsin
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
erolturk
Üye
Mesajlar: 14
Kayıt: 13 May 2016 04:49

Re: Windows 10 da CreateProcessAsUser ve UAC sorunu yaşıyorum ..

Mesaj gönderen erolturk »

Merhaba !

Vista/Server 2008'den sonra servisler tek bir oturuma(session) hapsedildi ve de interaktif olmaları da engellendi. Yani shellExecute, winExec gibi

komutlarla exe çalıştırırsanız servisin bulunduğu (local system) oturumda çalışıyor. Hatta görev yönetici / işlemler de görünüyor. Öyle bir komut olmalı ki oturmlara arası haberleşme yapsın. Bu da Jedi kütüphanesi ile şu şekilde mümkün :

Kod: Tümünü seç

if WTSQueryUserToken(WtsGetActiveConsoleSessionID, hToken) then 
  begin 
    if CreateProcessAsUser(hToken, nil, 'notepad.exe', nil, nil, False, 
      0, nil, nil, si, pi) then 
    begin 
      AssignFile(intList, GetAppPath + '\PoliLog.txt');
        Rewrite(intList);
        writeln(intList, DateTimeToStr(now) +
          ' => Exe Çalıştırma İşlemi Başarılı');
        CloseFile(intList);
    end; 
  end; 
(Detaylı bilgi : http://www.remkoweijnen.nl/blog/2007/10 ... l-session/)
Burda; local system oturumundan kullanıcının açtığı oturuma not defterini çalıştır komutu gönderiyor. Bu yöntem win7, win10 vs de sorunsuz çalışıyor. Ama Win Server işletim sistemlerine gelince WTSQueryUserToken fonksiyonu sürekli FALSE döndürüyor. Bir güvenlik ayarı mı var acaba ...
Konuyla ilgili tecrübesi olan arkadaşlara yardımları için şimdiden teşekkür ederim.
Cevapla