问题标签 [winrm]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1494 浏览

powershell - Powershell 4.0 使用非管理员域帐户进行远程处理

我正在寻求帮助,以便为一组服务器上的非管理员正确配置 PowerShell Remoting。现在我们有一个工作配置,允许管理域帐户成功连接到服务器而没有错误。我们使用的身份验证方法是Credssp,使用SSL,这非常适合域管理员帐户。

另一方面,我有这个用户域帐户userTest。此帐户映射到本地(在每台服务器上)映射到远程桌面用户组的域组。这允许此用户成功地 RDP 到此服务器,但没有管理员权限。它将保持这种状态,并且不能将其设为本地管理员。

此用户的目的是允许非管理员帐户使用受限会话对服务器执行一组脚本,该会话与域管理员帐户连接。当我尝试连接userTest帐户时,问题就出现了。服务器响应访问被拒绝错误:

[ServerA] Connecting to remote server ServerA failed with the following error message : Access is denied. For more information, see the about_Remote_Troubleshooting Help topic. + CategoryInfo : OpenError: (ServerA:String) [], PSRemotingTransportException + FullyQualifiedErrorId : AccessDenied,PSSessionStateBroken

通过分析事件日志,我发现一条错误消息如下:

The WSMan service could not launch a host process to process the given request. Make sure the WSMan provider host server and proxy are properly registered.

这是我已经设置的配置:

  • 创建了一个名为 RemoteDesktopUsers 的 PSSessionConfiguration

  • 注册-PSSessionConfiguration -Name RemoteDesktopUsers -StartupScript C:\Start.ps1

  • Set-PSSessionConfiguration -Name RemoteDesktopUsers -ShowSecurityDescriptorUI(将远程桌面用户组添加到此 SessionConfiguration)

所以是的,基本上从我已经用谷歌搜索的内容来看,这应该是您能够使用非管理员帐户进行 PSRemote 所需的所有必要配置。正如我已经提到使用连接到此 SessionConfiguration 的域管理员帐户工作正常,所以我认为我缺少某种允许此用户访问的权限/特权/SDDL:

Windows Server 2008 R2 SP1
Powershell 4.0
Winrm ProductVersion = 操作系统:6.1.7601 SP:1.0 堆栈:3.0

0 投票
0 回答
1484 浏览

powershell - Powershell New-PSSession 问题

当我将桌面远程到一个盒子时,我会收到这样的提示:

一旦我选择“是”,我就会连接到盒子。当我尝试在 PowerShell 中使用相同的凭据登录到同一个框时,我收到了本文末尾列出的错误。

其中 $hst 是“MyBox”,$username 是“MyBox\MyUser”

问:powershell 中有没有办法让我模仿“是”按钮的选择?

错误:

New-PSSession : [MyBox] 连接到远程服务器 MyBox 失败并显示以下错误消息:WinRM 无法处理请求。使用 Kerberos 身份验证时出现错误代码 0x80090311 的以下错误:当前没有可用于为登录请求提供服务的登录服务器。

可能的原因有:

  • 指定的用户名或密码无效。
  • 当没有指定身份验证方法和用户名时使用 Kerberos。
  • Kerberos 接受域用户名,但不接受本地用户名。
  • 远程计算机名称和端口的服务主体名称 (SPN) 不存在。
  • 客户端和远程计算机位于不同的域中,两个域之间没有信任。

检查上述问题后,请尝试以下操作:

  • 检查事件查看器以获取与身份验证相关的事件。
  • 改变认证方式;将目标计算机添加到 WinRM TrustedHosts 配置设置或使用 HTTPS 传输。

请注意,TrustedHosts 列表中的计算机可能未经过身份验证。

  • 有关 WinRM 配置的详细信息,请运行以下命令:winrm help config。有关详细信息,请参阅 about_Remote_Troubleshooting 帮助主题。

目标框分析

  • WinRM 正在运行

  • 预期的防火墙规则已到位

  • 用户是管理员组的一部分

  • PSRemoting 已启用

0 投票
1 回答
93 浏览

powershell - Powershell WinRM (WS-manager) 服务在组策略中启用后未运行

我需要在 2008 R2 服务器上运行远程 powershell 命令,所以我使用组策略启用了 WinRM

在此处输入图像描述

但是当我进入 Windows 服务查看正在运行的服务时,Windows 远程管理(WS-Management)不在列表中

在此处输入图像描述

因此,当我尝试运行将设置 WinRM 的 powershell 命令时

在此处输入图像描述

它说服务没有运行,因此我无法注册配置;这是我真正需要的,因为我需要将 powershell 命令作为 PS 版本 2 而不是版本 3 运行

有没有人遇到过这个?有谁知道从哪里开始寻找?

谢谢

0 投票
1 回答
369 浏览

python - 使用 Pywinrm 在远程 Windows 机器中从 linux 执行 vbs 脚本(执行双跳)

我需要从 Linux 机器在 Windows 机器上运行 vbs 脚本。我使用 Pywinrm 实现了 Windows 和 Linux 之间的连接。vbs 脚本里面有一套安装。无论如何我可以运行这个 vbs 脚本而不必使用“CredSSP”身份验证?

0 投票
1 回答
639 浏览

powershell - 在不依赖 WinRM 服务的情况下向远程 PC 发送消息

我想知道是否可以在不依赖 WinRM 服务的情况下向远程 PC 发送系统托盘消息或弹出消息框。每次我尝试时都会出错,因为该服务在我正在测试的地方没有激活,并且无法通过正常的用户级别访问激活。

对于系统托盘消息,我使用此代码(在我所在的本地 pc 上工作)

对于弹出消息,我使用此代码

请注意,这些是从各种 powershell 脚本站点获得的示例代码,而不是我自己的(以防有人识别代码)。

0 投票
3 回答
14287 浏览

powershell - New-PSSession 在本地不起作用

我正在尝试使用New-PSSession.

我有

  • 使用配置的 WinRM

    /li>
  • 启用 PS 远程处理

    /li>
  • 添加了可信主机

    /li>
  • 防火墙上的 8173 端口有入站规则。

输出winrm

我正在尝试运行以下命令:

但我收到此错误:

编辑:

我看到的唯一额外的事情是网络连接到 public $listenerport = "8173" winrmwinrm create winrm/config/Listener?Address=*+Transport=HTTP " @{Port ="$listenerport "}"

编辑2:权限

0 投票
1 回答
1879 浏览

ruby - 使用 Ruby/WinRM 从 Linux 运行 Exchange Powershell 命令

我正在尝试从 ruby​​ 脚本为 Active Directory 中的现有用户运行 enable-mailbox 命令。我正在使用这个 winrm gem。到目前为止,我已经能够使用 winrm 和 kerberos 身份验证连接到交换服务器。我可以从 powershell 运行一个交换管理 shell。从那里我可以执行交换命令。

但是,当我尝试运行 enable-mailbox 时,出现以下错误:

Active Directory 操作在 上失败。为“域\帐户”提供的凭据无效。

“操作失败”。是逐字逐句的。在您认为应该有的空间中没有文本。域\帐户与我用来通过 kerberos 成功连接 winrm 的帐户相同。

这是我的简单代码:

谢谢你的帮助!

0 投票
0 回答
177 浏览

vb.net - 如何控制远程计算机的声音

为了提高我的 PowerShell 和 VB.NET 编码和脚本技能,我决定构建一种控制界面,用于控制系统的声音、关闭系统、关闭网络适配器等。出于最奇怪的原因,我的声音有问题。

我一直在尝试一些事情,主要是使用该SendKeys方法。

具体来说,代码是:

我也试过:

我在谷歌搜索了一段时间后发现了这些,不幸的是我只能让这些命令在我的本地 Windows 8 基础机器上运行,而我正在测试的远程计算机是 Windows 7。我意识到操作系统的差异会更改所需已发送密钥的编码,但我找不到与此不同的任何东西,并希望比我聪明得多的人能提供帮助。

0 投票
2 回答
813 浏览

powershell - Visual Studio 发布管理 - 使用 ps/dsc 部署时遇到服务器证书错误

我正在尝试通过 RM 客户端从我们的 RM 服务器在目标计算机(我的本地计算机)上运行一个简单的 ps 脚本。但是,当它使用 ps/dsc 进行部署时,该版本就会崩溃。错误消息如下:

连接到远程服务器 ### 失败并显示以下错误消息:目标计算机上的服务器证书 (###:5985) 有以下错误:
在 SSL 库中遇到内部错误。

但是,正如您从 winrm 端口号看到的那样,我使用 HTTP 而不是 HTTPS 与我的机器通信,所以 SSL 肯定不应该进入它。那么有没有其他人遇到过这个或知道我可能做错了什么?

更新:机器是同一域的一部分。

0 投票
2 回答
2651 浏览

powershell - 如何获取特定 winrm 属性的值?

如何仅获取以下 PS 命令返回的值之一?

具体来说,我试图只获得MaxMemoryPerShellMB. 最终我需要将该值与另一个值进行比较,以便在需要时确保正确设置它。