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

  • BurnedInDotCom

    BurnedInDotC

    3 NİSAN 2010
  • Jason Rosolowski

    Jason Rosolo

    25 EKİM 2006
  • Santozz Yazz

    Santozz Yazz

    23 Mart 2014