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

  • Chuck Testa

    Chuck Testa

    14 AĞUSTOS 2011
  • mist64

    mist64

    30 Mayıs 2006
  • ShoSho

    ShoSho

    20 Ocak 2010