Windows'ta Bir Programı Farklı Bir Kullanıcı Olarak Çalıştırma (RunAs)


Herhangi bir Windows kullanıcısı, RunAs'ı kullanarak mevcut oturumunda başka bir kullanıcı adına bir program çalıştırabilir. Bu, başka bir kullanıcının izinleriyle bir komut dosyası (.bat, .cmd, .vbs, .ps1), çalıştırılabilir bir .exe dosyası çalıştırmanıza veya bir uygulama (.msi, .cab) kurmanıza olanak tanır.

Örneğin, yükseltilmiş olmayan (ayrıcalıksız) bir kullanıcı oturumunda yönetici hesabı altında uygulamaları yüklemek veya MMC ek bileşenlerini çalıştırmak için RunAs'ı kullanabilirsiniz. Ayrıca, başka bir kullanıcının profilinde yapılandırılmış bir uygulamayı çalıştırmak için RunAs'ı kullanabilirsiniz (uygulama, ayarlarını başka bir kullanıcının profilinden yükleyecektir).

Windows'ta bir programı veya işlemi başka bir kullanıcı olarak çalıştırmanın birkaç yolu vardır.

İkincil Oturum Açma hizmeti (

seclogon

), programların Windows'ta farklı kullanıcılar olarak çalışmasına izin vermekten sorumludur. Bu hizmet durdurulursa açıklanan RunAs yöntemlerinin hiçbiri çalışmaz. Hizmetin başlatıldığını aşağıdaki PowerShell komutuyla kontrol edebilirsiniz:

Get-Service seclogon

Uygulamaları Dosya Gezgini'nden Farklı Kullanıcı Olarak Nasıl Çalıştırırım?

Bir uygulamayı başka bir kullanıcı altında çalıştırmanın en kolay yolu, Windows Dosya Gezgini GUI'sini kullanmaktır. Başlatmak istediğiniz uygulamayı (veya kısayolu) bulun, Shift tuşunu basılı tutun ve üzerine sağ tıklayın. Bağlam menüsünde Farklı bir kullanıcı olarak çalıştır'ı seçin.

Not. "Farklı bir kullanıcı olarak çalıştır " menü öğesi eksikse makaleyi aşağı kaydırın.

Açılan Windows Güvenliği penceresinde, hesabı altında uygulamayı çalıştırmak istediğiniz kullanıcının adını ve şifresini belirtmeniz ve Tamam'ı tıklamanız gerekir.

Not.

  • Programı bir Active Directory kullanıcısı olarak çalıştırmak istiyorsanız, adını userPrincipalName (

    UserName@DomainName.com

    ) veya samAccountName (

    DomainName\UserName

    ) biçim ;

  • Bilgisayarınız bir AD etki alanına katıldıysa, programı yerel bir kullanıcı hesabı adına çalıştırmak için adını aşağıdaki biçimde belirtin:

    .\localusername

Önemli. Programı başka bir kullanıcı olarak ancak o kullanıcı için bir parola ayarlanmışsa çalıştırabilirsiniz. Parolası boş olan bir kullanıcı için Runas'ı kullanamazsınız.

Görev Yöneticisi'ni açın ve uygulamanın belirtilen kullanıcı hesabı altında çalıştığından emin olun.

RunAs Komutu: CMD'den Farklı Bir Kullanıcı Altında Program Çalıştırın

Uygulamaları komut isteminden farklı bir kullanıcı olarak çalıştırmak için Windows yerleşik runas.exe CLI aracını kullanabilirsiniz. bu

runas

komutu ayrıca kullanıcının parolasını Windows Kimlik Bilgisi Yöneticisi'ne kaydetmenize de olanak tanır, böylece her seferinde parolayı girmek zorunda kalmazsınız.

Komut istemini (veya Win+R tuşlarına basarak Çalıştır penceresini) açın. Notepad.exe'yi yönetici hesabı altında başlatmak için şu komutu çalıştırın:

runas /user:admin "C:\Windows\notepad.exe"

Uç. Kullanıcı adı boşluk içeriyorsa, tırnak işaretleri içine alınmalıdır:

runas /user:"antony jr" notepad.exe

Bir sonraki pencerede, kullanıcının şifresini girmeniz ve Enter tuşuna basmanız gereken "Yönetici için şifreyi girin" istemi görünür.

Başvurunuz başlamalıdır. Benim durumumda bu cmd.exe'dir. Pencere başlığında "PCAdı\kullanıcıadı olarak çalışıyor" yazıyor:

Örneğin, Kontrol Panelini farklı bir kullanıcı altında açabilirsiniz:

runas /user:admin control

Bir programı etki alanı kullanıcısı olarak çalıştırmanız gerekirse, aşağıdaki ad biçimini kullanın.

UserName@DomainName

veya

DomainName\UserName

. Örneğin, bir etki alanı kullanıcı hesabı adına not defteri kullanarak bir metin dosyasını açmak için şu komutu kullanın:

runas /user:corp\server_admin "C:\Windows\system32\notepad.exe C:\ps\region.txt"

Enter the password for corp\server_admin:
Attempting to start C:\Windows\system32\notepad.exe C:\ps\region.txt as user "corp\server_admin " ...

Var olmayan bir kullanıcı adı veya geçersiz bir şifre belirlediyseniz, bir hata görünecektir:

RUNAS ERROR: Unable to run - yourcommand
1326: The user name or password is incorrect.

veya

RUNAS ERROR: Unable to acquire user password

Bazen Active Directory etki alanına katılmamış bir bilgisayardan etki alanı kullanıcısı olarak bir program çalıştırmanız gerekir. Bu durumda, aşağıdaki komutu kullanmanız gerekir (bu etki alanını çözebilecek DNS sunucusunun, bilgisayarınızın ağ ayarlarında belirtildiği varsayılmaktadır):

runas /netonly /user:contoso\bmorgan cmd.exe

Programı farklı bir kullanıcı olarak başlatırken kullanıcı profilini yüklemek istemiyorsanız /noprofile parametresini kullanın. Bu durumda uygulama çok daha hızlı açılıyor ancak kullanıcı profilinde veri depolayan programların hatalı çalışmasına neden olabiliyor.

PowerShell'de RunAs'ı Kullanma

Programları/işlemleri PowerShell betiklerinden başka bir kullanıcı olarak çalıştırmanız gerekirse, Start-Process cmdlet'ini (Windows işlemlerini PowerShell ile yönetme) kullanabilirsiniz. Öncelikle, kullanıcının kimlik bilgilerini almanız gerekir:

$Cred = (Get-Credential)

İşlemi, komutu veya uygulamayı başka bir kullanıcı olarak başlatmak için PowerShell komutunu kullanabilirsiniz:

Start-Process -FilePath "powershell.exe" -Credential $Cred

Veya kullanıcı kimlik bilgilerini etkileşimli olarak Windows Güvenlik istemi aracılığıyla alabilirsiniz:

# Run as Administrator
Start-Process -FilePath "powershell.exe" -Verb RunAs
# Run as from another user
Start-Process -FilePath "powershell.exe" -Verb RunAsUser

Bir programı yönetici olarak yükseltilmiş modda çalıştırmanız gerekirse (varsayılan olarak, UAC programı yükseltilmiş olmayan bir kullanıcı bağlamında çalıştırır), aşağıdaki PowerShell komutunu kullanabilirsiniz:

Start-Process powershell -Credential a-d\jsmith -ArgumentList '-noprofile -command &{Start-Process "cmd.exe" -verb runas}'

Veya üçüncü taraf bir ShelExec aracı:

ShelExec /Verb:runas cmd.exe

RunAs Şifre İstemeden Nasıl Kullanılır?

Girdiğiniz kullanıcı kimlik bilgilerini (şifre ile) kaydedebilirsiniz. bu

/savecred

Bunun için parametre kullanılır.

runas /user:admin /savecred “C:\Windows\cmd.exe”

Parolayı belirledikten sonra Windows Kimlik Bilgileri Yöneticisi'ne kaydedilecektir.

runas komutunu aynı kullanıcı altında bir sonraki çalıştırışınızda

/savecred

anahtarı, Windows yeniden girmenizi istemeden Kimlik Bilgisi Yöneticisinden kaydedilen parolayı otomatik olarak kullanacaktır.

Kimlik Bilgisi Yöneticisi'nde kayıtlı kimlik bilgilerinin bir listesini görüntülemek için aşağıdaki komutu kullanın:

rundll32.exe keymgr.dll, KRShowKeyMgr

Ancak, kullanımı güvenli değildir.

/savecred

parametre. Profili başka birinin şifresini kaydeden bir kullanıcı, bu ayrıcalıklar altında herhangi bir uygulamayı veya komutu çalıştırmak ve hatta başka bir kullanıcının şifresini değiştirmek için profilini kullanabilir. Ayrıca, Kimlik Bilgisi Yöneticisi'nde kaydedilen parolaları çalmak kolaydır, bu nedenle Windows'un parolaları kaydetmesini önlemeniz önerilir (ve ayrıcalıklı yönetici hesaplarının parolasını asla kaydetmeyin).

Not. Ayrıca,/savecred seçeneği Windows Home sürümü sürümlerinde çalışmaz.

Farklı bir kullanıcı olarak mmc ek bileşenlerini çalıştırmak için RunAs komutunu kullanabilirsiniz. Örneğin, Active Directory Kullanıcıları ve Bilgisayarları ek bileşenini (RSAT yönetim araç setinden) farklı bir kullanıcı olarak çalıştırmak istiyorsanız, şu komutu kullanabilirsiniz:

runas.exe /user:DOMAIN\USER "cmd /c start \"\" mmc %SystemRoot%\system32\dsa.msc"

Aynı şekilde, başka herhangi bir ek bileşeni de çalıştırabilirsiniz (adını biliyorsanız).

Farklı Kullanıcı Olarak Çalıştırmak İçin Kısayol Nasıl Oluşturulur?

Masaüstünüzde programı farklı bir kullanıcı olarak çalıştırmanıza izin veren bir kısayol oluşturabilirsiniz. Sadece yeni bir kısayol oluşturun ve

runas

Konum alanında gerekli parametrelerle komut:

runas /user:admin  “C:\Windows\notepad.exe”

Böyle bir kısayolu çalıştırdığınızda, bir kullanıcı şifresi girmeniz istenecektir.

Ek olarak eklerseniz

/savecred

içindeki parametre

runas 

kısayol, ardından parola yalnızca bir kez sorulacaktır. Parola, Kimlik Bilgisi Yöneticisi'ne kaydedilecek ve parola sormadan başka bir kullanıcı adına kısayolu çalıştırdığınızda otomatik olarak kullanılacaktır.

Bu tür kısayollar, çalıştırmak için yükseltilmiş izinler gerektiren programları çalıştırmak için sıklıkla kullanılır. Ancak, bir programı yönetici ayrıcalıkları olmadan çalıştırmanın veya belirli bir uygulama için UAC istemini devre dışı bırakmanın daha güvenli yolları vardır.

Windows'ta “Farklı Kullanıcı Olarak Çalıştır” Seçeneği Eksik

Dosya Gezgini'ndeki uygulamanın bağlam menüsünde “Farklı kullanıcı olarak çalıştır” seçeneği eksikse, iki Windows kayıt defteri parametresinin değerlerini kontrol etmeniz gerekir.

Windows'ta, iki kayıt defteri parametresini kullanarak Dosya Gezgini'nde RunAs menü öğesini gizleyebilir veya gösterebilirsiniz:

  • HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer kayıt defteri anahtarı altındaki HideRunAsVerb parametresi (REG_DWORD) (1 - RunAs öğesini gizleyin, 0 - gösterin);

  • HKLM\ Software\Microsoft\Windows\CurrentVersion\Policies\CredUI (1 - gizle, 0 - göster) altında EnableSecureCredentialPrompting (REG_DWORD).

Windows "Başka bir kullanıcı olarak çalıştır" sağ tıklama menü seçeneğini göstermiyorsa, bu kayıt defteri ayarlarının değerlerini kontrol edin ve 0 olarak değiştirin. Bir etki alanı ortamında, bu kayıt defteri parametrelerini Grup İlkesi Tercihlerini kullanarak bilgisayarlara dağıtabilirsiniz.

EnableSecureCredentialPrompting parametresi, ayrı bir GPO seçeneğine karşılık gelir. Yerel Grup İlkesi Düzenleyicisini açın (

gpedit.msc

) ve Bilgisayar Yapılandırması -> Yönetim Şablonları -> Windows Bileşenleri -> Kimlik Bilgileri Kullanıcı Arayüzü'nde Kimlik bilgisi girişi için güvenilir yol iste ilkesinin devre dışı bırakıldığından (veya yapılandırılmadığından) emin olun. .

Windows 10'da Başlat Menüsüne “Farklı Çalıştır” Seçeneğini Ekleyin

Varsayılan olarak, Windows Başlat Menüsü'ndeki öğelerin "Farklı Çalıştır" seçeneği yoktur. “Farklı kullanıcı olarak çalıştır” seçeneğini eklemek için, Kullanıcı Yapılandırması -> Yönetim Şablonları ->Başlat Menüsü ve Görev Çubuğu Başlangıçta Farklı bir kullanıcı komutu olarak çalıştır komutunu göster ” ilkesini etkinleştirin.Yerel Grup İlkesi Düzenleyicisi'nin (gpedit.msc) bölümü.

Veya gpedit.msc eksikse HKEY_CURRENT_USER\Software\Policies\Microsoft kayıt defteri anahtarı altında ShowRunasDifferentuserinStart adında ve 1 değerinde yeni bir DWORD parametresi oluşturun. \Windows\Gezgin. Kayıt defteri parametresini eklemek için aşağıdaki PowerShell komutunu kullanabilirsiniz:

New-ItemProperty -Path "HKCU:\Software\Policies\Microsoft\Windows\CurrentVersion\Explorer" -Name ShowRunasDifferentuserinStart -Value 1 -PropertyType DWORD -Force

Grup İlkesi ayarlarını güncelleyin (

gpupdate /force

) ve Başlat menüsündeki programlar için yeni bir Diğer -> Farklı kullanıcı olarak çalıştır bağlam menüsünün görüntülendiğinden emin olun.

Evrensel Windows Platformu (UWP, Microsoft Store ) uygulamalarının bağlam menüsünde "farklı kullanıcı olarak çalıştır" seçeneği eksik. Runas.exe'yi kullanarak bir UWP uygulamasını komut isteminden farklı bir kullanıcı olarak çalıştırabilirsiniz.

PowerShell kullanarak bilgisayarınızdaki Microsoft Mağazası uygulamalarını listeleyin:

Get-AppxPackage|select Name

Belirli bir uygulamayı bulabilirsiniz:

Get-AppxPackage|where {$_.Name -like '*teams*'} |select Name

Listede istediğiniz uygulamanın adını bulun. Örneğin, yerleşik Microsoft Teams Chat istemcisini başka bir kullanıcı olarak çalıştırmak için aşağıdakileri yapın:

runas /user:user1 "explorer.exe MicrosoftTeams:"

İlgili makaleler