我试图创建一个脚本,或者只是找到一种方法,使用包含服务器列表的.txt文件,并浏览连接到每个服务器的列表,或者尝试连接到每个服务器以查看哪些服务器属于我。如果我可以连接,他们就是我的,如果没有,那么我需要将该服务器名称发送到文件。有600多台服务器,因此我无法输入凭据,并且一直在尝试使用不要求-Username或-Password的New-SSHSession找到方法。我到目前为止的内容如下,我刚开始使用PowerShell,因此我的知识有限,你看到的是我在最终来到这里之前一直在努力工作。
#$pass = Get-Content C:\securestring.txt | ConvertTo-SecureString
$pass = Read-Host -AsSecureString "Enter Password"
$pass2 = [Runtime.InteropServices.Marshal]::PtrToStringAuto(
[Runtime.InteropServices.Marshal]::SecureStringToBSTR($pass))
ForEach ($cname in Get-Content "C:\testingconnections\testconnect.txt")
{
New-SshSession -ComputerName $cname -Username $env:USERNAME -Password $pass2 *>> 'C:\testingconnections\error.txt'
Remove-SshSession $cname
}