问题标签 [powershell-remoting]
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.
powershell - 在不提示输入密码的情况下使用 PowerShell 凭据
我想重新启动属于域的远程计算机。我有一个管理员帐户,但我不知道如何从 powershell 使用它。
我知道有一个Restart-Computer
cmdlet 并且我可以传递凭据,但是如果我的域是例如mydomain
,我的用户名是myuser
,我的密码是mypassword
使用它的正确语法是什么?
我需要安排重新启动,这样我就不必输入密码。
powershell - 跨 VPN 远程处理 powershell
我已经看到了一些涉及远程配置的不同tutes-这个似乎比平均水平要好-但是我不清楚如何针对工作站不属于同一域的情况进行配置。
我正在使用 LogMeIn/Hamachi 创建 VPN - 我想了解允许这些工作站执行脚本所需的步骤。具体来说,如何定义 TrustedHosts 以便只允许我的 VPN 对等方?
powershell - Powershell 远程处理加速 Foreach 循环托管交换
我有一个我需要在 Live@edu 上设置的电子邮件地址和部门的 CSV。我目前拥有的命令如下所示:
问题是,这个操作需要永远。
我的第一个想法是,将ForEach-Object
命令实际转发到远程机器会很棒,这样它只需要在两台机器之间创建一个管道,但是当我进入 PSSession 时,没有似乎有任何foreach-object
可用的。作为参考,我如何导入 PSSession 是:
有没有更好的方法可以导入会话以允许 ForEach-Object 远程,或者导入远程 foreach-object 的别名版本,可能是 ForEach-Object-Remote,或者是否有人有更好的建议简化这个过程?
更新:我尝试过的几件事:
使用
-AsJob
隐式远程命令上的开关。不幸的是,这不起作用,因为存在不允许额外连接的限制。更糟糕的是,我什至不知道出了什么问题,直到我检查了结果,发现其中很少有人真正改变了。
ForEach-Object
以不同的名称导入。事实证明,添加前缀很容易,就像
-Prefix RS
在Import-PSSession
命令中放入远程会话中的 ForEach-Object 之类的东西一样成为ForEach-RSObject
本地会话。不幸的是,这对我不起作用,因为我要连接的服务器没有Microsoft.Powershell
可用的 ConfigurationName。
更新 2:Set-User cmdlet 似乎是 Microsoft 为 Live@edu 管理提供的。其目的是设置用户属性。它不是我能够调试的脚本或 cmdlet。不幸的是,它不需要管道输入,因此无法解决问题。
据我所知,问题在于每次运行此命令时它都必须构造和拆除通往远程机器的管道,而不是能够重用它。远程 ForEach 想法将允许我卸载该循环以避免必须创建所有这些远程管道,而 -asJob 将允许它们全部并行运行。但是,它也会导致错误以静默方式失败,并且实际上只有少数记录得到正确更新。
我怀疑此时我将无法加快此命令的速度,但必须尽我所能通过更好地跟踪我之前所做的事情来限制在特定运行中需要更改的数据量(保持差异快照)。让工作有点难。
编辑:Start-Automate留下了非常有用的帮助,不幸的是,它们都不起作用。在这一点上,我的感觉是,在我的提供商允许访问更多的 powershell cmdlet,或者修改交换 cmdlet 以允许多个管道之前,我不会找到一种方法来加快速度,我预计这两种情况都不会很快发生. 我将他的答案标记为正确,尽管最终结果没有任何帮助。谢谢,开始自动化。
powershell - 远程执行时 PowerShell 脚本失败
在执行 PowerShell 远程脚本时,我收到如下错误
执行中断的确切代码行如下:
谁能帮我解决这个问题??
arrays - 如何从远程 pssession 获取变量输出
我有一个从 vmm 获取虚拟硬盘信息的脚本,我从服务器远程执行它,目前我无法在本地主机的 pssession 之外获取变量值,请你帮我实现同样的目标。
如您所见,变量输出都给出空值,我无法保留这些值
powershell - 以 ip 地址为目标的 Powershell 远程处理
我在我的 Server 2008 R2 上成功启用了 PSRemoting。我可以使用主机名作为目标从同一网络中执行远程 pssession。
当我尝试从任何计算机(在网络内或从另一个网络(例如通过 VPN))使用 IP 地址作为目标时,我失败了。我希望能够通过我的 VPN 连接使用远程处理,因为无法解析主机名,所以我必须使用 IP 地址。
我不想将名称添加到我的主机文件中,因为我们客户端的其他一些服务器具有相同的 dns 名称,我不想删除并再次插入名称 IP 地址关联然后再次。
我希望有人能告诉我如何允许通过 IP 调用 psremoting-target。
编辑:更具体地说,我希望能够运行这个:
-Computername
但是,如果我将主机名传递给“ ” ,我只能运行该命令
Edit2:
当我尝试使用 ip 而不是主机名(来自内部网络)登录时,我收到以下错误消息:
Edit3:
我知道 WSMan 的可信主机设置,但这似乎不是问题。它已经设置为“*”(我在启用远程处理后立即这样做了),但我仍然无法使用 ip 作为目标计算机名连接到该服务器,但我可以使用主机名作为目标计算机名进行连接. 似乎 IIS 中的绑定之类的东西会阻止侦听器侦听针对 ip 号而不是主机名的请求。但是没有安装 IIS。我不知道在哪里寻找这样的设置。
2011-07-12 更新:
好的,我认为trustedhosts 设置不是问题,因为我可以通过主机名从我们的DC 连接,但如果我使用计算机参数的目标IP 地址则不能。
我想,问题一定是听者。也许侦听器不接受针对目标 IP 而不是目标主机名的请求。但我不知道如何改变它。
arrays - 无法在 [adsisearcher] 中查询受信任域 (PowerShell)
我想查询 [adsisearcher] 以获取一些服务器的 OU 信息,以获取受信任和不受信任域中的服务器。
对于受信任域中的服务器,我在创建 pssession 时传递了 $cred = 获取凭据,但是当我运行时
它给了我一个错误
有人可以帮我解决这个问题。
arrays - 无法在远程 PS 会话 (Powershell) 中查询 [Get-QADComputer] 信息
当我运行以下脚本以使用 quest ad commandlets 提取 OU 信息时,它给了我一个错误,如下所示
下面是使用的脚本
有人可以帮我解决这个问题吗?
谢谢!
c# - Powershell Remoting C# 调用表达式
由于这种方法不起作用,我正在尝试一种非常复杂的方法来获取远程机器上的完整路由信息。我正在尝试连接到远程 powershell 运行空间并以这种方式执行 route.exe 命令行工具并返回信息。
基本上我正在应用这里找到的解决方案,除了我试图运行命令:Invoke-Expression "c:\WINDOWS\system32\route.exe print" 而不是 "get-process"
当我使用“get-process”时,它可以工作。当我尝试 Invoke-Expression 时,我收到一个异常,告诉我找不到这个 command-let。当我在本地机器上运行完全相同的命令时,它可以工作并显示路由信息。所以我知道这不是语法问题或路径中的拼写错误。有谁知道为什么会这样?
谢谢。
c# - C#\Exchange 2010 PS1 脚本
我正在尝试使用 Exchange 2010 远程 powershell 和 c# 运行 PS1 脚本。我可以连接并运行 ps1 脚本,但脚本中有几个地方使用 Exchange cmdlet 来更新必要的用户信息。脚本使用的一个 cmdlet 是 update-recipient。该脚本运行良好,直到它尝试运行此 cmdlet 并显示错误:
术语“update-recipient”未被识别为 cmdlet、函数、脚本文件或可运行程序的名称。
有谁知道在 c# 的 PS1 脚本中运行 cmdlet 是否有任何限制?
谢谢