我想在某些VM机器上运行一些测试。这些机器属于具有不同MSDN帐户的不同用户,这意味着私人密码。
到目前为止,我所做的是为每个MSDN帐户创建一个Azure VM,并为该计算机设置类似的用户名/密码。
我想做的是:
连接到任何这些VM。我的问题:我不知道机器名称。我尝试使用Azure提供的rdp文件进行连接,并且它正在运行,但问题是它使用的是IP而不是名称。 我尝试找到机器名称,但所有关于此的文档似乎都已过时。 。我试图连接到amam10x64.westeurope.cloudapp.azure.com但没有成功。
将文件复制到VM或从VM复制文件。我希望我可以使用以下代码段:
$ commandStr = [string] :: Format(" Copy-VMFile"" {0}"" -SourcePath"" { 1}"" - DestinationPath"" {2}"" -CreateFullPath -FileSource Host -Force",$ VM, $ SessionPath,$ RemoteFullPath) $ commandBlock = [scriptblock] :: Create($ commandStr) Invoke-Command -Session $ sess -ScriptBlock $ commandBlock
在VM上运行命令。希望我能从Pt使用相同的命令。 2。
答案 0 :(得分:1)
我试图连接到amam10x64.westeurope.cloudapp.azure.com但是 没有成功。
如果要将此VM与DNS连接,我们应为此VM设置FQDN,请参阅此link。
将文件复制到VM或从VM复制文件。我的希望是我可以使用以下内容 片段:
也许我们可以使用winrm
来执行此操作。
关于如何使用winrm connect Azure VM,请参阅此answer。
在VM上运行命令。希望我能从Pt使用相同的命令。 2。
我们可以使用此脚本通过Winrm
:
$username = 'jason'
$pass = ConvertTo-SecureString -string 'password' -AsPlainText -Force
$cred = New-Object -typename System.Management.Automation.PSCredential -argumentlist $username, $pass
$s = New-PSSession -ConnectionUri 'http://23.99.82.2:5985' -Credential $cred -SessionOption (New-PSSessionOption -SkipCACheck -SkipCNCheck -SkipRevocationCheck)
Invoke-Command -Session $s -ScriptBlock {Get-Process PowerShell}