Syneticon-dj के उत्तर में कमांड काम नहीं करता है, क्योंकि एक सामान्य एलिवेटेड व्यवस्थापक के पास कुंजी तक लिखने की पहुंच नहीं होती है। टिप्पणियों का उल्लेख है कि आपको अनुमतियाँ बदलने की आवश्यकता है। लेकिन इसमें regedit.exe पर बहुत अधिक क्लिक करना शामिल है और यह स्क्रिप्टेड इंस्टॉलेशन के लिए काम नहीं करता है।
मैं निम्नलिखित PowerShell स्क्रिप्ट का उपयोग करता हूं:
$definition = @"
using System;
using System.Runtime.InteropServices;
namespace Win32Api
{
public class NtDll
{
[DllImport("ntdll.dll", EntryPoint="RtlAdjustPrivilege")]
public static extern int RtlAdjustPrivilege(ulong Privilege, bool Enable, bool CurrentThread, ref bool Enabled);
}
}
"@
Add-Type -TypeDefinition $definition -PassThru | out-null
$bEnabled = $false
# Enable SeTakeOwnershipPrivilege
$res = [Win32Api.NtDll]::RtlAdjustPrivilege(9, $true, $false, [ref]$bEnabled)
$key = [Microsoft.Win32.Registry]::LocalMachine.OpenSubKey("SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\AlternateShells\AvailableShells", [Microsoft.Win32.RegistryKeyPermissionCheck]::ReadWriteSubTree,[System.Security.AccessControl.RegistryRights]::takeownership)
$acl = $key.GetAccessControl()
$acl.SetOwner([System.Security.Principal.NTAccount]"Administrators")
$key.SetAccessControl($acl)
$rule = New-Object System.Security.AccessControl.RegistryAccessRule ("BUILTIN\Administrators","FullControl","Allow")
$acl.SetAccessRule($rule)
$key.SetAccessControl($acl)
New-ItemProperty -path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\AlternateShells\AvailableShells" -name 90000 -value "%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\Powershell.exe" -propertyType String
यह पहले कुंजी पर अनुमतियों को बदलता है और फिर शेल के रूप में पावरशेल सेट करता है।
ध्यान दें कि यह केवल एक अंग्रेजी OS पर काम कर सकता है, क्योंकि यह 'प्रशासकों' समूह को संदर्भित करता है।
AvailableShells
कुंजी तक पहुंच लिखी है , केवल TrustedInstaller करता है। मैं कुंजी का स्वामित्व लिए बिना अनुमतियां नहीं बदल सकता। क्या आपको लगता है कि सिस्टम कुंजी का स्वामित्व लेना कोई समस्या पेश करेगा? यहाँ मेरी रजिस्ट्री के ACL हैं: gist.github.com/vcsjones/4dca25f94bfb1cfd5857