Lệnh trong câu trả lời của syirecton-dj không hoạt động, bởi vì một quản trị viên nâng cao bình thường không có quyền ghi vào khóa. Các ý kiến đề cập rằng bạn cần thay đổi các quyền. Nhưng điều này liên quan đến rất nhiều nhấp chuột trong regedit.exe và không hoạt động đối với các cài đặt theo kịch bản.
Tôi sử dụng tập lệnh PowerShell sau:
$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
đầu tiên nó thay đổi các quyền trên khóa và sau đó đặt PowerShell làm vỏ.
Lưu ý rằng điều này chỉ có thể hoạt động trên hệ điều hành tiếng Anh, vì nó đề cập đến nhóm 'Quản trị viên'.
AvailableShells
khóa đó , chỉ có TrustedInstaller thực hiện. Tôi không thể thay đổi quyền mà không có quyền sở hữu khóa. Bạn có nghĩ rằng việc sở hữu một khóa hệ thống sẽ gây ra bất kỳ vấn đề nào không? Dưới đây là các ACL trong sổ đăng ký của tôi: gist.github.com/vcsjones/4dca25f94bfb1cfd5857