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

  • International Secret Agents Concerts

    Internationa

    2 Aralık 2008
  • Alexey - servant of Christ

    Alexey - ser

    15 EYLÜL 2007
  • TitaniumBackup

    TitaniumBack

    10 EYLÜL 2011