SORU
25 EYLÜL 2008, PERŞEMBE


Python bir betik içinden UAC yükseltme isteği?

Python senaryomu Vista dosyaları kopyalamak istiyorum. I cmd.exe normal bir pencere çalıştırdığınızda, bir hata oluşturulur, henüz dosyalar kopyalanır. Eğer "administator" ve sonra benim komut dosyasını çalıştırmak, sorunsuz çalışıyor. cmd.exe kaçarsam

Bu Kullanıcı Hesap Denetimini normalde birçok dosya sistemi eylemleri engellediği için mantıklı.

Orada, bir Python betiği içinde uzay yönetimi yükselme isteği çağırmak bir yolu (gibi bir şey bu diyaloglar "böyle ve böyle bir uygulama ihtiyacı Erişim Yöneticisi, TAMAM mı?")

Eğer bu mümkün değilse, senaryomu en azından düzgün bir şekilde başarısız kadar yüksek olmadığını tespit edebilen bir yolu var mı?

CEVAP
31 Temmuz 2012, Salı


Dguaraglia cevabı çalışan almak için biraz zaman aldı, diğerleri de zaman kazanmak için, burada bu fikri uygulamak için yaptım:

import os
import sys
import win32com.shell.shell as shell
ASADMIN = 'asadmin'

if sys.argv[-1] != ASADMIN:
    script = os.path.abspath(sys.argv[0])
    params = ' '.join([script]   sys.argv[1:]   [ASADMIN])
    shell.ShellExecuteEx(lpVerb='runas', lpFile=sys.executable, lpParameters=params)
    sys.exit(0)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Dom Esposito

    Dom Esposito

    26 Mayıs 2011
  • TeachMeComputer

    TeachMeCompu

    31 EKİM 2009
  • wwjoshdo

    wwjoshdo

    25 Mayıs 2009