Powershell:无法为点斜杠用户创建凭据文件
我正在尝试对具有“\”的计算机运行远程命令 当我尝试使用get credentials获取凭据并将其存储到文件时,我不允许这样做。 当我尝试使用Powershell:无法为点斜杠用户创建凭据文件,powershell,credentials,Powershell,Credentials,我正在尝试对具有“\”的计算机运行远程命令 当我尝试使用get credentials获取凭据并将其存储到文件时,我不允许这样做。 当我尝试使用 $Username = -join($env:COMPUTERNAME,'\<user_name>') $Password = '<password>' $pass = ConvertTo-SecureString -AsPlainText $Password -Force $Cred = New-Object System.M
$Username = -join($env:COMPUTERNAME,'\<user_name>')
$Password = '<password>'
$pass = ConvertTo-SecureString -AsPlainText $Password -Force
$Cred = New-Object System.Management.Automation.PSCredential -ArgumentList $Username,$pass
Invoke-Command -ComputerName <computer_name> -Authentication Kerberos -Credential $Cred {Get-WmiObject -Class Win32_LogicalDisk}
但是当我做一个mstsc并使用相同的凭证时,它就可以工作了
请告诉我怎么走。
$env:COMPUTERNAME
是您的计算机名
假设我正在使用ComputerA并希望以ComputerB上的本地用户身份连接到ComputerB
您当前的代码正试图以
ComputerA\Username
的身份连接,这在ComputerB上不存在 $env:COMPUTERNAME
是您的计算机名
假设我正在使用ComputerA并希望以ComputerB上的本地用户身份连接到ComputerB
您当前的代码正试图以
ComputerA\Username
的身份连接,这在ComputerB上不存在 你能用下面的语法传递用户名吗
$Username = -join('Localhost','\<user_name>')
$Username=-join('Localhost','\'))
能否尝试用下面的语法传递用户名
$Username = -join('Localhost','\<user_name>')
$Username=-join('Localhost','\'))
您确定需要使用kerberos进行身份验证吗?你正在使用计算机名作为域名,这对我来说似乎是违反直觉的。这段代码是在PS2中运行的,我尝试过这样做。\n但结果相同。我使用Kerberos进行身份验证,而我发现这是在powershell 4中使用的。您使用的帐户是本地帐户,而不是域帐户,对吗?是的,远程计算机的本地帐户不是域。然后您必须使用不同的身份验证方法,因为Kerberos隐式尝试域身份验证(这将不起作用)。如果省略参数Authentication
,则可能会更进一步。我们将看到,如果您需要配置您的本地系统以信任您连接到的系统。但是一步一个脚印。尝试不使用-身份验证是否确实需要使用kerberos进行身份验证?你正在使用计算机名作为域名,这对我来说似乎是违反直觉的。这段代码是在PS2中运行的,我尝试过这样做。\n但结果相同。我使用Kerberos进行身份验证,而我发现这是在powershell 4中使用的。您使用的帐户是本地帐户,而不是域帐户,对吗?是的,远程计算机的本地帐户不是域。然后您必须使用不同的身份验证方法,因为Kerberos隐式尝试域身份验证(这将不起作用)。如果省略参数Authentication
,则可能会更进一步。我们将看到,如果您需要配置您的本地系统以信任您连接到的系统。但是一步一个脚印。当我从computerA执行RDC(使用mstsc)时,尝试不使用-身份验证,我看到的是相同的computerA\username。我也尝试过使用powershell中的computerB/但它给出了相同的错误。当我从computerA中执行RDC(使用mstsc)时,我看到的是相同的computerA\username。我也尝试过使用powershell中的computerB/但是它给了我同样的错误。