【问题标题】:Kill Process On List Of remote Workgroup Servers杀死远程工作组服务器列表上的进程
【发布时间】:2018-05-25 14:08:41
【问题描述】:

我有一个包含 5 个服务器的列表,由于特定原因,它们不在域中。它们之间的凭据是相同的。

我正在尝试远程杀死机器上的任何进程实例。对于这个网站,我已将进程更改为 notepad.exe

我在尝试确定如何成功连接到这些盒子时遇到问题。

我在跑步

$StartCheck = Get-WmiObject Win32_Process -Computer $Servers |
  Where-Object { $ProcessNames -contains $_.Name }
$StartCheck | FT * -a;$StartCheck | FT * -a | out-file -FilePath $logfile -Append

这里。

(Get-WmiObject Win32_Process -Computer $Servers |
  Where-Object { $ProcessNames -contains $_.Name }).Terminate() | out-null

我遇到以下错误

Get-WmiObject : Access is denied. (Exception from HRESULT: 0x80070005
(E_ACCESSDENIED))
At C:\Users\first.last\Desktop\Kill All Traffic Managers.PS1:67 char:13
+ $EndCheck = Get-WmiObject Win32_Process -Computer $Servers |
+   

输入凭据最简单的方法是什么?

【问题讨论】:

  • 我忘了提到我可以从运行脚本的服务器对相关机器进行 PING 和 UNC。

标签: powershell wmi credentials remote-server get-wmiobject


【解决方案1】:

将此添加到您的脚本并更改用户名和 P@ssw0rd

$account = "username"
$PASSWORD = ConvertTo-SecureString P@ssw0rd -AsPlainText -Force
$UNPASSWORD = New-Object System.Management.Automation.PsCredential $account, $PASSWORD

也改变你的

Get-WmiObject Win32_Process -Computer $Servers`

Get-WmiObject Win32_Process -Computer $Servers -Credential $UNPASSWORD

【讨论】:

  • 运行时返回。 Get-WmiObject:访问被拒绝。 (来自 HRESULT 的异常:0x80070005 (E_ACCESSDENIED))我将如何做到这一点,以便我可以将用户名和密码直接发送给它。我不想有任何人工干预,因为它将从自动化平台运行。
  • 这取决于您是否希望脚本中的用户名和密码为纯文本格式?
  • 另外让我提醒你,这个脚本是在域机器上针对非域机器运行的。
  • 您使用的用户是工作组计算机上的管理员?
  • 密码周围的引号已包含在内。我删除了它们,这解决了问题。
猜你喜欢
  • 2014-11-01
  • 1970-01-01
  • 2014-06-03
  • 1970-01-01
  • 2017-04-15
  • 2018-01-04
  • 1970-01-01
  • 1970-01-01
  • 2018-02-14
相关资源
最近更新 更多