Windows Vista makinemde yalnızca bir hesabım var ve bu kullanıcının yönetici ayrıcalıkları var. Ancak, belirli bir işlemi öldürmek için PowerShell içinde bir komut yürütmeye çalıştığımda, "Erişim reddedildi" iletisiyle karşılaşıyorum. Nasıl yönetici olabilirim?
Bunu yapmanın en kolay yolu, Powershell'i yönetim simgeleriyle başlatmaktır. Bunu yapmak için, Powershell'e (veya kısayoluna) sağ tıklayın ve "yönetici olarak çalıştır" a tıklayın. Alternatif olarak elevate.cmd kullanabilirsiniz.
Powershell v2 yolu, Microsoft'a göre , kısayola sağ tıklamak ve Yönetici Olarak Çalıştır seçeneğini belirlemektir.
Ve Powershell penceresinde yükseltmek için:
start-process powershell –verb runAs
Bir cmd.exe toplu iş dosyasından, kısayolundan veya Çalıştır satırından (tekrar tekrar) şöyle bir şey görünecektir:
powershell "start-process powershell -verb runas"
Bu yeni bir powershell örneği açar:
function Run-Elevated ($scriptblock)
{
# TODO: make -NoExit a parameter
# TODO: just open PS (no -Command parameter) if $scriptblock -eq ''
$sh = new-object -com 'Shell.Application'
$sh.ShellExecute('powershell', "-NoExit -Command $scriptblock", '', 'runas')
}
Bununla ilgili sorunlar olduğunu umuyorum - özellikle, scriptblock'unuzun çıktısını arama komut dosyasında geri alamazsınız. Öte yandan, yeni PS örneğinde orada olacak, böylece orada hackleyebilirsiniz.
her zaman PowerShell'i yönetici ayrıcalıklarıyla çalıştırmak istiyorsanız, PowerShell kısayolunu sağ tıklatıp "Kısayol" sekmesindeki "Gelişmiş ..." düğmesini tıklayıp "Yönetici Olarak Çalıştır" ı seçebilirsiniz. ".
Kolay yol ...
Herhangi bir PowerShell oturumundan istediğiniz zaman yönetici ayrıcalıklarını almak için bir easy command ayarı bu şekilde yapılır!
Adım 1: PowerShell Profilinizi açın. (Not defteri eksikse dosya oluşturmasına izin verin.)
notepad "$profile"
Adım 2: Aşağıdaki kodu o dosyanın herhangi bir yerine yapıştırın. (Çalıştırmak istediğiniz PowerShell sürümüne bağlı olarak seçim yapın ve profilin sürüme özgü olduğunu unutmayın; böylece paralel olarak çalıştırırsanız PowerShell sürümlerinizin her biri için bunu yapabilirsiniz).
# PowerShell 5
function GoAdmin { Start-Process PowerShell –Verb RunAs }
# PowerShell Core
function GoAdmin { Start-Process pwsh –Verb RunAs }
Adım 3: PowerShell'i yeniden başlatın. Komut artık kalıcı olarak kullanılabilir.
Adım 4: Her zaman yönetici olmak istediğinizde, GoAdmin
yazmanız yeterlidir (ve doğru durumu yazmak konusunda endişelenmeyin; PS işlevleri aslında büyük/küçük harfe duyarlı değildir). Tabii ki işlevi Elevate
veya başka bir şey gibi adlandırabilirsiniz, ancak çakışma riski istemedim, bu yüzden hiçbir zaman çakışma olmayacağından emin olmak için herhangi bir kısa çizgi olmadan iki kelimelik bir deyim olarak adlandırdım. PowerShell'in kendi özellikleri.
Yönetici penceresinin ayrı bir Kabukta açıldığını unutmayın. Orijinal Kabuğu kapatabilir veya açık tutabilirsiniz. Yönetici çalışmanız ortam değişkenleri ekleme/değiştirme gibi "büyük" bir şey yaparsa, kullanıcı Kabuğunuz (yönetici olmayan) ortamını yeniden yüklemek ve değişiklikleri almak için refreshenv
yazabilir. (Düzenle: refreshenv
öğesinin büyük Chocolatey paket yöneticisi tarafından sağlandığını keşfetti. Update-SessionEnvironment
yerine Chocolatey'niz yoksa.)
Temel olarak, sadece GoAdmin
, paketleri yüklemek gibi yönetici şeylerini yapın ( https://chocolatey.org/ elbette!) Ve sonra yönetici penceresini kapatın ve refreshenv
kullanıcı Kabuğunuzda! Voila.