Ras*_*ssK 9 powershell docker nano-server
我创建了一个运行docker的W10 VM(guest),拉出了microsoft/nanoserver图像并托管了一个容器的图像.
(这里的教程:https://msdn.microsoft.com/en-us/virtualization/windowscontainers/quick_start/quick_start_windows_10)
一切都运行良好,甚至主机可以ping客户W10下运行的容器.但我不能做的是将远程PowerShell连接到容器.
Enter-PSSession -ComputerName "<container ip>" -Credential ~\Administrator
Run Code Online (Sandbox Code Playgroud)
这会弹出一个询问用户和密码的对话框.我不能把它留空或等 - 结果是访问被拒绝.有关如何连接或设置nanoserver容器密码的任何想法?
使用 IP 地址连接到 PS-Session 时,它会增加一些要求,您必须将远程设备配置为使用 ssl,或者将 IP 地址列在受信任的主机中。
解决方案是尝试使用设备的主机名,我在这方面取得了巨大的成功。或者使用受信任的主机列表。根据我的经验,如果您在您的计算机和远程计算机上添加可信列表条目,它会一致地工作。您还可以指定:
Set-Item WSMan:\localhost\Client\TrustedHosts -Value "*"
这基本上会将所有计算机设置在受信任的主机列表中,它有其缺点,例如所有计算机都受信任,但在某些受限网络中它是可以接受的。在主机和客户端计算机上执行此操作似乎会产生最佳结果。
当指定-Credentials
它需要一个凭据对象时,您可以在 cmdlet 之前制作一个凭据对象,以避免每次都输入它,如下所示:
$secpass = convertto-securestring "Password Here" -asplaintext -force
$cred = new-object -typename System.Management.Automation.PSCredential -argumentlist "Username Here", $secpass
Enter-PSSession -ComputerName "<container ip>" -Credential $cred
Run Code Online (Sandbox Code Playgroud)
在脚本中像这样编码凭据是不好的做法,您应该考虑在脚本中正确存储凭据,这方面有很多好的资源。
归档时间: |
|
查看次数: |
1383 次 |
最近记录: |