You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

非域服务器远程终止进程:如何输入凭据解决权限拒绝问题

解决非域服务器远程WMI权限问题的最简单凭据输入方法

针对你遇到的E_ACCESSDENIED权限错误,最直接且安全的解决方式就是在WMI命令中显式指定有权限的凭据——因为你的5台服务器用的是相同凭据,只需要输入一次就能复用,非常高效。

步骤1:获取目标服务器的凭据

用Get-Credential命令弹出交互式输入框,输入有权限操作远程服务器的用户名和密码:

$cred = Get-Credential

执行后会弹出系统原生的凭据输入窗口,输入后凭据会以安全的方式存储在$cred变量中。

步骤2:修改你的WMI命令,添加凭据参数

把-Credential $cred参数加到Get-WmiObject命令里,就能带着正确权限去远程连接服务器了。

检查进程的修改后代码:

$cred = Get-Credential
$StartCheck = Get-WmiObject Win32_Process -Computer $Servers -Credential $cred | Where-Object { $ProcessNames -contains $_.Name }
$StartCheck | FT * -a
$StartCheck | FT * -a | Out-File -FilePath $logfile -Append

终止进程的修改后代码:

$cred = Get-Credential
(Get-WmiObject Win32_Process -Computer $Servers -Credential $cred | Where-Object { $ProcessNames -contains $_.Name }).Terminate() | Out-Null

补充:非交互式凭据输入(仅测试环境推荐)

如果是自动化脚本,不想弹出输入框,可以手动构建PSCredential对象,但注意这种方式密码会以明文形式存在脚本中,非常不安全,仅限测试环境使用:

$username = "你的服务器用户名"
$password = "你的服务器密码" | ConvertTo-SecureString -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential($username, $password)

原理很简单:非域环境下,PowerShell不会自动传递当前登录用户的凭据到远程服务器,必须显式指定拥有远程WMI操作权限的账户,-Credential参数就是用来传递这个权限凭证的。

内容的提问来源于stack exchange,提问作者Cleadus Fetus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 06:44:38