PowerShell 脚本

PowerShell 脚本

我试过了:

  • 禁用 UAC
  • 每个带宽优化选项
  • 取消选中“性能选项:视觉效果”选项卡中的所有复选框

但是,每次他们看到的只是一个黑屏,我的鼠标光标在移动。

环境是:

  • 远程协助请求者(服务器):Windows 8.1 VMware 客户机
  • 远程协助响应者(客户端):Windows 7、Windows 8.1

有什么建议吗?

答案1

我记得我曾经在我的环境中遇到过这个问题。请参阅以下链接https://technet.microsoft.com/de-de/library/ee844127%28v=ws.10%29.aspx

在您的组策略(gpedit.msc)设置(如果是域,则应用于适当的组织单位)中,转到计算机配置\Windows 设置\安全设置\本地策略\安全选项。

更改以下设置用户帐户控制:提示提升权限时切换到安全桌面已禁用

编辑 记得使用最新的组策略更改更新您的计算机。在 CMD 提示符中运行 gpupdate /force 以将您的计算机更新到最新的组策略设置。要打开 cmd 提示符,请在 Windows 中单击搜索栏并输入命令提示符。

答案2

我最近创建了这个 PowerShell 解决方案,可以在需要打开远程协助会话并输入不能与被协助的最终用户共享的提升的 UAC 凭据时使用。

从技术上讲,您可以运行并将Invoke-Command其指向远程计算机,然后确保Set-ItemProperty具有适当的10PromptOnSecureDesktop”值以启用或禁用。

我想确保当我需要在提升的会话中运行时,我只需执行脚本,并确保在会话结束msra后自动重新启用 UAC 安全桌面安全性。msra

本质上这将...

  • 提示您输入计算机名称

  • 通过远程注册表更改和命令禁用“UAC 安全桌面”

  • 启动一个msra以同样方式工作的会话它总是从这里开始工作

  • msra相关实例结束后,通过远程注册表更改和命令启用“UAC 安全桌面”

要使用您只需要...

  1. .ps1将 PowerShell 脚本另存为具有文件扩展名的文本文档
  2. 打开 PowerShell 命令提示符并输入(或粘贴)完整的脚本路径和文件名,然后按Enter
  3. 输入您要通过远程协助连接的计算机的计算机名称,然后按Enter
  4. 远程协助会话完成后,mrsa如果进程仍在运行,请关闭该进程

提示:msra大多数时候使用非提升的“其他/标准”方法,并且仅在需要时使用。

PowerShell 脚本

$pc = Read-Host "Enter the remote computer name to disable secure desktop";

Invoke-Command -ComputerName $pc -Scriptblock {
    Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" -Name "PromptOnSecureDesktop" -Value 0 -Force;
    };

$remoteAssist = "$Env:windir\system32\msra.exe";
Start-Process $remoteAssist "/offerra" -Wait;
Write-Host "Your Remote assist session has ended" -ForegroundColor Red;

Invoke-Command -ComputerName $pc -Scriptblock {
    Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" -Name "PromptOnSecureDesktop"  -Value 1 -Force;
    };

执行示例

注意:只需粘贴完整路径脚本名称并按回车键。

PS C:\Users\User> \\myserver.domain.com\sharename\folder\script\Elevate-RemoteAssist.ps1

支持资源

  • 用户帐户控制:提示提升权限时切换到安全桌面

    安全桌面显示登录 UI 并限制功能和系统访问,直到满足登录要求。

    安全桌面与用户桌面的主要区别在于,只有以受信任身份运行的进程才SYSTEM允许在此运行(即,没有任何进程在用户的权限级别运行)。从用户桌面到安全桌面的路径也必须在整个链中都是受信任的。

    可能值

    • 已启用

      • 默认情况下,所有提升请求都会转到安全桌面。
    • 已禁用

      • 所有提升请求都发送到交互式用户桌面。

    来源

  • 调用命令

  • 设置项目属性
  • 开始进程
     -Wait
       Wait for the specified process to complete before accepting more input.
       This parameter suppresses the command  prompt or retains the window
       until the process completes
    

答案3

我在上一份工作中使用 RDP 时也遇到了同样的问题。我会远程联系呼叫者,但需要管理员用户名/密码,而我无法向他们提供,也无法看到输入提示。只出现黑屏并显示暂停。

根据 MS 论坛的解决方法,计算机配置 > Windows 设置 > 本地策略 > 安全选项 > 用户帐户控制:提示提升权限时切换到安全桌面。选中定义此策略设置并选择禁用。

然而,我上一份工作中的 GPO 造成了这个问题,我无法说服任何人介入并解决问题。因此,我转向 Bomgar 作为远程协助解决方案。

相关内容