当我在工作组中时,我该在 Powershell 启动进程凭据中将什么写为域?

当我在工作组中时,我该在 Powershell 启动进程凭据中将什么写为域?

我正在尝试在某个位置推出脚本以远程更改办公室激活。我以为我知道如何做到这一点,但我被困在一些奇怪的事情上。它总是给我这个错误

Start-Process : This command cannot be run due to the error: De gebruikersnaam of het wachtwo
ord is onjuist.
At line:2 char:1
+ Start-Process "\\10.0.0.1\scripts\WordActivationAdmin.ps1" -Credentia ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [Start-Process], InvalidOperationExcepti
   on
    + FullyQualifiedErrorId : InvalidOperationException,Microsoft.PowerShell.Commands.StartP
   rocessCommand


我运行的代码是:

Set-ExecutionPolicy -Scope "CurrentUser" -ExecutionPolicy "Unrestricted" -Force

$hostname = get-content env:computername
    
$username = "$hostname\localUserAdmin"
$password = "Password"

$securePassword = ConvertTo-SecureString $password -AsPlainText -Force
$credential = New-Object System.Management.Automation.PSCredential $username, $securePassword


Start-Process "\\10.0.0.1\scripts\WordActivationAdmin.ps1" -Credential $credential

我 100%确定密码和用户名都是正确的。所以我认为我输入的用户名是错误的或类似的东西。

答案1

您不需要本地机器的主机名,而是需要远程系统的主机名。

尝试

$hostname = [System.Net.Dns]::GetHostEntry('10.0.0.1').HostName

有时主机名带有需要删除的后缀,例如.home。在这种情况下,请使用
$hostname = [System.Net.Dns]::GetHostEntry('10.0.0.1').HostName.Split(".")[0]

顺便说一句。要在远程系统上运行某些东西,您需要Invoke-Command -ComputerName $hostname -Credential $credential -Scriptblock { ... }

相关内容