Следующий скрипт терпит неудачу в последней строке с Get-WmiObject : Invalid namespace
:
$password = ConvertTo-SecureString "password" -AsPlainText -Force
$cred= New-Object System.Management.Automation.PSCredential ("domain\user", $password )
Write-Host "Entering PS Session..."
Enter-PSSession -Computer hyperVServer -Credential $cred
Start-Sleep -s 5
$server = "servername"
$query = "SELECT * FROM Msvm_ComputerSystem WHERE ElementName='" + $server + "'"
$VM = get-wmiobject -query $query -namespace "root\virtualization" -computername "."
Однако, когда я ввожу их по одному в консоль, все работает без проблем.
Я добавил Start-Sleep
из-за некоторых проблем с синхронизацией ... открытие сеанса занимает несколько секунд. Есть идеи, почему эта строка не сработает только тогда, когда она работает как скрипт?
Enter-PSSession предназначен только для интерактивного использования. Если вы хотите запускать команды в удаленной системе в сценарии (не интерактивно), вам нужно вместо этого использовать Invoke-Command. Пожалуйста беги Get-Help Invoke-Command -Full
Больше подробностей.