Je suis en train d'utiliser ce script pour installer Python sur l'ordinateur distant. Si je cours ce dossier directement sur le serveur. C'est le fichier Python_Pip_Proxy_PyWinAuto.ps1
. Ça marche.Installation à distance de Python à l'aide Powershell échoue en utilisant Invoke-Command
Set-ExecutionPolicy -ExecutionPolicy Unrestricted
Write-Host("Hi")
$installer="C:\temp\python-3.6.2.exe"
& $installer /quiet PrependPath=1 InstallAllUsers=1 TargetDir="C:\Python36"
Cependant, si je lance le Invoke-Command
en utilisant le script suivant pour exécuter cette distance sur le même serveur, il imprime est le message Hi
donc je sais que le fichier est en cours d'exécution, mais Python ne soit pas installé.
# Getting the list of servers from a .txt file to an array #
$SRVListFile = "C:\Scripts\ServerList.txt"
$SRVList = Get-Content $SRVListFile -ErrorAction SilentlyContinue
# Copying the .exe file from a shared location to each server in the array #
# Invoking the .ps1 file which runs natively on each server #
Foreach($computer in $SRVList) {
Get-Service remoteregistry -ComputerName $computer | start-service
Copy-item -Path "E:\Software\python-3.6.2.exe" -Destination \\$computer\c$\temp -Recurse
Copy-item -Path "C:\My Files\Work\Episode 003 - MongoDB Back Up\Python_GUI.py" -Destination \\$computer\c$\temp -Recurse
Invoke-Command -ComputerName $computer -FilePath "C:\My Files\Work\Episode 003 - MongoDB Back Up\Python_Pip_Proxy_PyWinAuto.ps1"
}
Qu'est-ce qui ne va pas? À quoi devrais-je changer le code?
Merci! Votre solution a fonctionné. Pourquoi pensez-vous que mon chemin a échoué? Ma façon de travailler a été d'installer un autre logiciel appelé Alteryx. –
Pour commencer, le paramètre -filepath est utilisé pour spécifier un fichier de script sur la machine locale (celle que vous exécutez votre script) et non l'ordinateur distant où vous souhaitez l'exécuter. Puisque vous essayez d'exécuter un fichier script sur l'ordinateur distant, vous devez utiliser le paramètre -scriptblock. Vous pouvez alternativement, mettre le script sur votre machine locale et essayer. Cela devrait fonctionner tant que vous avez le fichier d'installation sur un partage réseau accessible depuis l'ordinateur distant. –