Мне удалось скопировать все исправления и исполняемые файлы с одного сервера в список серверов с помощью этого решения
Теперь я пытаюсь установить все исправления и EXE в папку назначения на удаленном сервере.
Использование
$comname = Get-Content -Path ‘H:\InstallationFiles\server.txt’
$fname = Get-ChildItem ‘H:\InstallationFiles\Patch’ -Recurse -force | select-object FullName
Set-Item wsman:\localhost\client\trustedhosts * -Force
Foreach($sname in $comname){
Foreach($installpath in $fname){
$newproc=([WMICLASS]”\\$_\root\cimv2:win32_Process”).Create(“$installpath /s”)
If($newproc.ReturnValue -eq 0){
Write-Host $_ $newproc.ProcessID
}
Else {
Write-Host $_ Process Create failed with $newproc.ReturnValue
}
}
}
Но я получаю ошибку ниже
Process Create failed with
Cannot convert value “\\\root\cimv2:win32_Process” to type “System.Management.ManagementClass”. Error: “Invalid parameter “
At H:/InstallationFiles/installfiletoserver.ps1:15 char:9
+ $newproc=([WMICLASS]”\\$_\root\cimv2:win32_Process”).Create(“$installFil ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [], Runtime.Exception
+ FullyQualfiedErrorId : InvalidCastToWMIClass
Даже я пытался использовать команду Invoke, но это тоже не получается.
Invoke-command -ComputerName $sname -ScriptBlock {
Start-Process $installpath -ArgumentList ‘/silent’ -wait
}
Команда Invoke завершается неудачно с
[servername] Connection to remote server servername failed with the following error message : The WinRM client cannot process the request because the server name cannot be resolved l. For more information, see the about_Remote_Troubleshooting Help topic.
+ CategoryInfo : OpenError: (servername:String) [], PSRemotingTransportException
+FullyQualifiedErrorId : ComputerNotFound, PSSessionStateBroken
Я получаю эту ошибку для всех серверов и даже для запуска других команд, таких как new-item и т. Д. На серверах с блоком сценария в Invoke-Command.
Я не уверен, что мне не хватает. Может кто-нибудь помочь мне установить все exe и msu в папку на удаленном сервере с помощью Powershell?
Спасибо!