问题标签 [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.
php - 使用 PHP Exec() 命令运行 WINRS / WINRM cmd
平台详细信息:IIS7、PHP5、Windows Server 2008 服务器名称:server1
我正在尝试使用 php 的 exec() 函数来执行具有以下命令的 .bat 文件:
但是,当我执行该命令时,它不起作用。直接在 server2 上运行 custom_functions.bat 文件时,它工作正常,因此问题不太可能是我的代码。我猜它是权限错误。
当我执行 exec("whoami") 时,它以用户身份返回 "nt authority\network service"。
如果我通过 php exec() 函数(例如 exec("ipconfig") 或 exec("dir c:\"))执行任何基本的 windows 命令,它们就可以正常工作。当我尝试使用 WINRM 在远程服务器上执行命令时,问题就出现了。我也使用了 php 的 system() 函数——结果相同。
请帮忙!?
windows - 远程运行 PowerShell 命令的安全性?
我是 PowerShell 的新手。我希望在运行 Windows 7 的远程 PC 上运行 PowerShell 命令。
在远程 PC 上,我运行了以下 PowerShell 命令:
我在主机 PC 上执行了最后两个命令(但使用<remote_ip>
)。
我确认这适用于:
我的问题:这在公共网络上是否安全?我应该做点别的吗?还是我应该使用 SSL?如果是这样,我该怎么做?
windows - 使用 winrm 连接到远程服务器而不将服务器添加到 TrustedHosts
我一直在努力处理 winrm 和 TrustedHosts 但无济于事。经过一些试验,我发现 winrm/config/client 的这个字段最多只能有 1023 个符号,这还不够,特别是如果通过它们的 ipv6 添加主机。我引用了 Windows 远程管理的安装和配置:A trusted hosts list should be set up when mutual authentication cannot be established.
同样在同一个文件中,文本说:Other computers in a workgroup or computers in a different domain should be added to this list.
所以我认为这意味着只要两台计算机在同一个域中,我应该能够使用 winrm 从另一台访问其中一台。
我尝试将两台计算机添加到测试域并执行:
winrm 获取 winrm/config/client -r:192.168.100.1 -u:user -p:pass
从其中一个到另一个,但这失败并出现错误:
将 192.168.100.1 添加到 TrustedHosts 后,上述查询成功。所以我的问题是:是否可以在不修改 TrustedHosts 的情况下在两台主机之间使用 winrm?将受信任的主机设置*
为对我来说不是一个选项。
powershell - 针对 Exchange 的远程运行空间连接失败
我想通过 C# 远程向 Exchange 服务器发出命令。当我直接通过 PowerShell 执行此操作时,它可以工作。但是当我通过 C# 向 PowerShell 发出命令时,它失败了。
这是我在 PowerShell 中所做的(有效):
这是C#(不起作用):
我有一个有权执行此远程登录的特定用户。PowerShell 以该用户身份运行,而该用户在 C# 代码中被模拟。这也是我作为 PSCredential 传入的这个用户的用户名和密码。
有什么想法吗?
powershell - 使用 Powershell 和 Jenkins 进行远程访问
我正在尝试在远程(Windows 2008 Server R2)机器上运行一个 powershell 脚本。以下代码在直接从 powershell 执行时效果很好。(即一切设置正确,WinRM 服务正在运行,主机相互信任,登录正确...)
但是,当我从 Jenkins 实例(在我测试的同一台机器上运行)执行完全相同的代码时,我得到一个PSSessionStateBroken连接失败,. (没有发布完整的错误,因为它在我的机器上是德语。)
我想这意味着 Jenkins 使用不同的 powershell 或具有不同的 powershell/winrm 设置或权限不足。有任何想法吗?
编辑:通过以管理员身份运行 jenkins 服务来修复它。对我有用,但感觉不对...
command-line - 从 TeamCity 多次调用 winrs
如果我在同一个 Team City 命令行中运行 2 个 winrs 命令,如下所示:
构建将挂起。
- 如果我手动终止构建代理上的 winrs 进程,构建将完成,但会以代码 1 退出。
- 如果我只运行一个 winrs 命令,构建将通过。
- 如果我将 winrs 命令拆分为 2 个不同的构建步骤,构建也将通过。
- 如果我将这两行放在一个批处理文件中并在构建代理上运行它也可以工作。
- 如果我将这两行放在一个 cmd 文件中并作为构建代理用户在构建代理上运行它也可以工作。
有谁知道这里发生了什么/如何解决这个问题?
我希望 Team City 或 winrs 大师可以帮助我。
c# - Unable to open Remote Exchange (2010 and 2013) PSSession from a different domain (WinRM) 错误。请指教?
我正在尝试打开一个远程交换 PS 会话,但它失败并出现 WinRM 错误。
请注意,我可以打开正常的 PS 会话,但不能使用交换配置。
那么是否可以在启用 PSRemoting 的同一域中的任何机器上管理交换服务器?
是否可以从不同域的机器管理交换服务器?
欢迎任何关于错误的建议?
这是我执行的命令:
问候,
梦想家
c# - C#检查两台计算机是否在受信任域中(或:决定winrm连接的身份验证机制)
我想通过 winrm 连接到其他计算机。我只得到了我想连接的目标计算机的 FQDN。我不知道目的地是否在受信任的域中。所以基本问题是我现在如何连接需要哪种身份验证机制?是否有任何 C# .NET 方法来检查?
或者是将身份验证机制设置为 kerberos 的更简单方法,如果失败则将其设置为协商?
sql-server - 通过 vagrant 上的 chef-solo 时,SQL Server 设置失败并显示“无法生成临时类”
在过去的一周里,我一直在尝试解决厨师 COOK-1172 的问题,但没有取得多大成功。我正在尝试使用 Chef-Solo 配置程序通过 Vagrant 安装 SQL Server 2008 R2 开发人员版(在我的情况下)。
我已经能够通过直接通过 Ruby WinRM gem 在 Chef 之外重现该问题,然后使用自定义 PowerShell 脚本修复它,该脚本使用传递的凭据在来宾 Windows vagrant box 上启动 setup.exe 进程。换句话说,WinRM gem 调用一个远程 PS 脚本,该脚本在指定的凭据下启动 SQL Server setup.exe,这是有效的。
但是,通过chef-solo 在客户机上运行完全相同的脚本失败,并出现 InvalidOperationException:无法生成临时类。
我用于测试的 Ruby 脚本和嵌入式 PowerShell 脚本是从我的 OS X 主机调用的:
从 sql 安装日志:
我的第一个怀疑是我的临时目录遇到了某种权限问题,但是我尝试运行 ProcMon 并且在运行设置时没有发现任何 ACCESS DENIED 结果。此外,由于 PowerShell 脚本和 UAC 已关闭,我明确地以本地管理员 (vagrant) 身份运行。
c# - WinRM - 没有 CredSSP 的第二跳
我想问一下是否可以仅使用 Kerberos(委托)在 WinRM 服务的“第二跳”处冒充?
CredSSP 对我来说没有解决方案,因为我无法提示用户密码.. 我正在使用 Windows 2008 R2、C#、.NET 4.0 ...
场景:我有客户端/服务器应用程序(客户端使用 ODBC 驱动程序与服务器通信)。客户端获取当前用户 Windows 凭据并传递给服务器。服务器创建线程并模拟调用者。从这个模拟线程中,我尝试使用 Kerberos 身份验证调用远程 WinRM 服务(PowerShell),但它总是失败:
System.Management.Automation.Remoting.PSRemotingTransportException:处理来自远程服务器的数据失败,并显示以下错误消息:访问被拒绝。有关详细信息,请参阅 about_Remote_Troubleshooting 帮助主题。
所以看起来调用者没有权限..
如果我调试差异在于当前主体的 ImpersonationLevel 属性(无与委托)。
- 如果我从控制台应用程序运行相同的代码,它可以工作
- 我的客户端和服务器现在在同一台机器上
感谢您的任何建议