SORU
29 EKİM 2010, Cuma


Yönetici hakları için kontrol etmek için nasıl komut toplu:

Nasıl geçerli toplu komut dosyasını yönetici hakları varsa kontrol edebilirim?

Ben yönetici hakları kontrol etmek için ne varsa kendisi ile arama yapmak için biliyorum ama değil. Gördüğüm tek çözüm iş kesmek veya harici programlar kullanmak ham. Aslında bir iş olarak hack Windows XP ve daha yeni olduğu umurumda değil.

CEVAP
16 AĞUSTOS 2012, PERŞEMBE


Sorunları

blak3r / Rushyo's çözüm çalışıyor Windows 8. hariç her şey için iyi Windows 8 sonuçlar: AT çalıştırma:

The AT command has been deprecated. Please use schtasks.exe instead.

The request is not supported.

(#1 ekran görüntüsü) ve* 1*4 döner.

Araştırma

Yani, yükseltilmiş izinler gerektiren diğer komutları aramaya gitti. rationallyparanoid.com bir liste birkaç kaçtım her komutun iki karşıt uçlar mevcut Windows işletim (XP ve 8) umut bulmak için bir komut olacağını erişim engellendi hem OSs çalıştırdığınızda standart izinleri.

Sonunda, bir - NET SESSION buldum. Birdoğruiçermeyen , temiz, evrensel çözüm:

  • ya da güvenli yerlerde veri ile etkileşim oluşturma
  • veri analizi FOR döngüler döndü
  • dizeleri aranıyor"" . Yönetici
  • AT (Windows 8 Uyumlu) veya WHOAMI (Windows XP uyumlu) kullanarak.

Her biri kendi güvenlik, kullanılabilirlik ve taşınabilirlik sorunları var.

Test

Bağımsız bu üzerinde çalıştığını teyit ettim:

  • Windows XP, 86
  • Windows XP, 64
  • Windows Vista, 86
  • Windows Vista, 64
  • Windows 7, 86
  • Windows 7, 64
  • Windows 8, 86
  • Windows 8, 64

(#2 ekran görüntüsü)

Uygulama / Kullanımı

Bu çözümü kullanmak için, sadece böyle bir şey yapmak:

@echo off
goto check_Permissions

:check_Permissions
    echo Administrative permissions required. Detecting permissions...

    net session >nul 2>&1
    if %errorLevel% == 0 (
        echo Success: Administrative permissions confirmed.
    ) else (
        echo Failure: Current permissions inadequate.
    )

    pause >nul

Eğer tembel iseniz burada mevcuttur: https://dl.dropbox.com/u/27573003/Distribution/Binaries/check_Permissions.bat

Açıklama

NET SESSION standart bir komut 32 ** için kullanılır

Yani, burada verilen uygulama temel süreci:

  1. @echo off
    • Devre dışı bırakma komutları görüntüleniyor
  2. goto check_Permissions
    • :check_Permissions kod bloğu atlamak
  3. net session >nul 2>&1
    • Komutunu çalıştırın
    • Komut görsel çıkış gizlemek tarafından
      1. nul 1 / STDOUT tanıtıcı sayısal (standart çıkış akışı yeniden yönlendirme
      2. Sayısal olarak aynı hedef için standart hata çıkış akışı 2 / STDERRtanıtıcı sayısal () yönlendirme 1 kolu
  4. if %errorLevel% == 0
    • Eğer çıkış kodu değeri (**20)0 o zaman bu anlamına gelirherhangi bir hata olmuşve, bu nedenle, hemen önceki komutu koştubaşarılı bir şekilde
  5. else
    • Eğer çıkış kodu değeri (%errorLevel%)değil0 o zaman bu anlamına gelirbir hata oluşmuşve, bu nedenle, hemen önceki komutu koştubaşarısız
  6. İlgili parantez arasındaki kodu karşılaşılan bağlı olarak yürütülür

Ekran görüntüleri

Windows 8 AT %errorLevel%:

[imgur]

NET SESSION on Windows XP x86 - Windows 8 x64:

[imgur]

Sen, @Tilka, benim için kabul cevabını değiştirmek için çok teşekkür ederim. :)

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • bunliu

    bunliu

    2 Mayıs 2007
  • Jon Reed

    Jon Reed

    14 AĞUSTOS 2006
  • njhaley

    njhaley

    24 NİSAN 2006