c# - 用户第一次没有更改注册表(Shell 值),但在第二次尝试远程更改时进行了更改
问题描述
我制作了一个窗口应用程序,该应用程序的注册表外壳值发生了变化。当 AD 管理员用户第一次以完全权限登录时,应用程序第一次提示并且用户使用 MFA 选项进行身份验证,然后用户第一次无法更改注册表shell 的值,但是当他第二次更改时,他确实成功更改了注册表。所有场景都只在 RDP 上进行。
我们已经完全控制了将注册表权限更改为管理员用户。
RegistryKey localKey = RegistryKey.OpenBaseKey(Microsoft.Win32.RegistryHive.CurrentUser, RegistryView.Registry64);
localKey = localKey.OpenSubKey(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon", true);
localKey.SetValue("Shell", "explorer.exe");
RegistryKey localKey1 = RegistryKey.OpenBaseKey(Microsoft.Win32.RegistryHive.CurrentUser, RegistryView.Registry32);
localKey1 = localKey1.OpenSubKey(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon", true);
localKey1.SetValue("Shell", "explorer.exe");
Thread.Sleep(2000);
Process.Start(@"C:\Windows\system32\userinit.exe");
解决方案
推荐阅读
- javascript - React js, pass a function with parameters as props without using this keyword
- sql - Date based Query
- .htaccess - 存在特殊参数时带参数的 htaccess 重定向 URL
- php - 检查标志是否在 MySQL 查询中设置和未设置
- sql-server - Bulk Insert Parquet Files in Azure SQL
- python-3.x - 如何在 cx_Oracle Python 中更新多行
- python - 使用 Python 的正则表达式
- amazon-web-services - 使用我自己的 IP 地址时 Ec2 Instance Connect 无法连接
- sql - 如何组合没有任何共同列的两个表的列?
- python - 在 c 之后使用来自 Python 生成器的大型结果集时,Snowflake 会抛出 403 Forbidden。6个小时