Ce que je cherche à faire semble assez simple, mais je ne peux pas le comprendre. Je cherche à exécuter un script Powershell pour lancer une session RDP, copier un fichier dans le répertoire c: \, puis exécuter ce fichier à partir d'une ligne de commande. Je voudrais qu'il boucle, obtenant les paramètres d'un fichier de csv, tels que l'IP de serveur, le nom d'utilisateur, et le mot de passe. Donc, en substance les étapes seraient les suivantes ...Exécuter mstsc.exe avec powershell
1.import infor from the csv file to define variables
2.copy specefied file (then loop)
3.launch mstsc.exe
4.enter server IP, username, password
5.paste copied file into the c:\ directory
6.launch cmd.exe
7.Run the file that was copied to the c:\ directory
8.log off server
Je voulais voir si quelqu'un pouvait me aider avec this.I suis nouveau shell puissance et ont été en mesure de travailler à travers beaucoup de celui-ci. Si quelqu'un pouvait me diriger dans la bonne direction, ou même me fournir le code pour remplir les blancs, je l'apprécierais grandement.
Pour être plus précis quant à ce que j'essaie de faire est d'installer un agent sur une machine. Le processus impliquerait la connexion sur un serveur via rdp, l'exécution d'un paquet d'installation silencieuse (msi) à partir d'une ligne de commande et c'est tout. Ce que je voudrais faire est de fournir une feuille de calcul à mon client et de lui faire remplir les détails, tels que l'adresse du serveur, nom d'utilisateur et mot de passe. Le I et se tourner vers un csv, exécutez le PowerShell, et installez plusieurs des agents via ce script, sorte de processus automatisé essentiellement. J'espère que ça l'explique un peu mieux.
Voici ce que j'ai jusqu'à présent ...
de Windows ....
$computers= gc "C:\Users\Desktop\Powershell\DeviceList.txt"
foreach ($computername in $computers)
{
mstsc
Start-Sleep -s 2
[System.Windows.Forms.SendKeys]::SendWait("$computername{ENTER}")
Cela ne lancera la session mstsc, donc sa seule un morceau du casse-tête, ce que je dois faire alors est de copier un fichier sur ce périphérique, puis exécutez cmd.exe et une seule commande et déconnectez-vous.
UNIX >>>
$computers= gc "C:\Users\Desktop\Powershell\DeviceList.txt"
foreach ($computername in $computers)
{
c:\putty.exe
Start-Sleep -s 2
[System.Windows.Forms.SendKeys]::SendWait("$computername{ENTER}")
}
A peu près la même chose, mais je peux exécuter des commandes directement à partir du mastic pour faire ce travail et ne pas copier un fichier que je peux obtenir une autre façon par exécuter quelques commandes.
Toute aide ou des idées avec ceci est appréciée, merci.
Qu'en est-psexec? –
J'ai édité mon post d'origine avec ce que j'ai jusqu'ici. Le PSEXEC ne fonctionne pas vraiment bien, à partir de tout ce que vous voulez comprendre. Vous ne devez pas l'activer sur tous les appareils auxquels je cherche? Si cela devait éliminer le besoin, une fois arrivé à l'appareil, je viens juste de copier un fichier et d'exécuter une seule commande pour une installation silencieuse. Avec mstsc, je peux le démarrer, mais je n'arrive pas à trouver un moyen d'entrer une commande dans une session Windows. Avec unix c'est assez facile, je viens d'utiliser putty et la fonction SendKeys et, non testé, mais semble fonctionner. – user1462832
Si PowerShell 2 est installé sur tous vos serveurs, alors allez à WS-management: Setup: http://technet.microsoft.com/fr-fr/magazine/ff700227.aspx & Utilisez: http://technet.microsoft. com/fr-fr/library/dd819505.aspx –