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.
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.
Yanıtlar:
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.
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ı:
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
)
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
cmd
Açılacak mermiler.