Toplu komut dosyası: yönetici haklarının nasıl kontrol edileceği


7

Geçerli toplu komut dosyasının yönetici haklarına sahip olup olmadığını nasıl kontrol ederim?

Bunun kendisini runas ile çağırmasını biliyorum ama yönetici haklarını nasıl kontrol edeceğimi bilmiyorum. Gördüğüm tek çözümler ham iş hack işleri.


@ Bobby: Ancak bash içinde nasıl yapılacağını soruyordu.
paradroid

1
@ Jason404: Wtf ?! Hack'i Bash için Batch'i nasıl yanlış okudum? oO '@Tilka: İçten özürlerim.
Bobby

Yanıtlar:


5

Her zaman böyle bir şey yapabilirsin

mkdir "%windir%\system32\test" 2>nul
if "%errorlevel%" == "0" (rmdir "%windir%\system32\test" & echo Is admin) else (echo Not an Admin)

En iyi yöntem değil, her zaman benim için çalışıyor.


1
Bu OP'nin kaçınmaya çalıştığı bir hack işidir .............
Pacerier

@Pacerier Bence bu bir şaka! gibi daha az istilacı seçenek var ve fsutil
Wolf

2

Bazı araştırmalardan sonra (çoğunlukla SO’da [1] ), Onu buldum net her zaman iyi bir çözüm değildir, yanlış negatif sonuçlar gösterebilir. Ama orada fsutil WinXP Win10 için kullanılabilir. Tüm anlayışlı cevabı okumaya değer "Daha fazla sorun" soruya Toplu komut dosyası: yönetici haklarının nasıl kontrol edileceği Orada.

İşte acele kullanıcılar için kısa cevap:

fsutil dirty query %systemdrive% >nul
if %errorlevel% == 0 (
    echo Running with admin rights.
) else (
    echo Running without
)

[1] asıl sorunum yükseliş oldu ama invazif olmayan kontrol bunun bir parçası:


gerçekten herhangi bir ağ servisine güvenmediği için hoşuna gitti -% 100 bir şeye ihtiyacım vardı ve bunu yapıyor - btw sürücünüzün kirli olmadığını bilmek de iyi: o)
Acid

0

Standart komutları kullanarak aklıma gelen en iyi çamur budur:

net user %username% | findstr /r Administrator.
if %errorlevel% == 1 (
echo This is not an admin account
) else (
echo This is an admin account
)

Bir etki alanında olduğunda bu işe yaramaz. Ve "net user% kullaniciadi% / domain" yi denediğimde Yerel Grup Üyeliği bölümünde yerel yönetici haklarım olmasına rağmen hiçbir grup yoktu. Garip...
flacs

1
Ayrıca çıktı yerelleştirildi.
flacs

1
Ayrıca, bir kişi, Administrators grubundaki bir hesaptan yönetici hakları olmadan bir toplu iş dosyasını çalıştırabilir (bu özellikle Vista / 7 ile ilgilidir).
utapyngo


-1

Sadece, yükseklik gerektiren gruplarınızın tepesindeki bir satıra ihtiyacınız var. "Bir Çizgi" vurgusu

nul 2 & gt; & amp; 1 fsutil dirty query% systemdrive% || echo CreateObject ^ ("Shell.Application" ^). ShellExecute "% ~ 0", "ELEVATED", "", "runas", 1 & gt; "getadmin.vbs" & amp; "getadmin.vbs" & amp; çıkış / b


1
Bu işe yaramıyor. Bu sonsuz sayıda neden olur. cmd Açılacak mermiler.
DavidPostill
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.