То, что я ищу, кажется довольно простым, но я не могу понять это. Я хочу запустить сценарий Powershell для запуска сеанса RDP, скопировать файл в каталог c: \, а затем запустить этот файл из командной строки. Я бы хотел, чтобы он зациклился, получив paramars из csv-файла, такого как IP-адрес сервера, имя пользователя и пароль. Таким образом, по сути шагов, будут следующие ...Запуск mstsc.exe с 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
Я хотел бы видеть, если кто-то может помочь мне с this.I новичка в силовую оболочку и была в состоянии работать через много. Если кто-то может указать мне в правильном направлении или даже предоставить мне код, чтобы заполнить пробелы, я бы очень его воспринял.
Чтобы быть более пространным относительно того, что я пытаюсь сделать, это установить агент на машину. Этот процесс повлечет за собой регистрацию на сервере через rdp, запускает пакет безмолвной установки (msi) из командной строки, и это он. То, что я хотел бы сделать, это предоставить электронную таблицу моему клиенту и попросить его заполнить детали, такие как адрес сервера, имя пользователя и пароль. Я и превращаюсь в csv, запускаю powershell и устанавливаю многие из агентов через этот скрипт, вроде как автоматизированный процесс по существу. Надеюсь, что это немного лучше.
Вот то, что я до сих пор ...
Окна ....
$computers= gc "C:\Users\Desktop\Powershell\DeviceList.txt"
foreach ($computername in $computers)
{
mstsc
Start-Sleep -s 2
[System.Windows.Forms.SendKeys]::SendWait("$computername{ENTER}")
Это будет только запустить Mstsc сессию, поэтому ее только часть головоломки, что мне нужно для этого нужно скопировать файл на это устройство, а затем запустить cmd.exe и одну команду и выйти из системы.
Для 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}")
}
Практически то же самое, но я могу запускать команды непосредственно из шпатлевки, чтобы сделать эту работу и не нужно копировать файл, как я могу получить это еще один путь к выполнив несколько команд.
Любая помощь или идеи с этим связаны, спасибо.
насчет PsExec? –
Я отредактировал мой пост с тем, что у меня есть. PSEXEC действительно не работает так хорошо, как от yunderstandings, dont yuo должен включить его на всех устройствах, которые я ищу для доступа? Если это так устранит необходимость, как только я доберусь до устройства, мне просто нужно скопировать файл и запустить одну команду для бесшумной установки. С mstsc я могу запустить его, но я не могу определить способ ввода команд в сеанс Windows. С unix довольно легко, я просто использую putty и функцию SendKeys и, непроверенную, но, похоже, работает. – user1462832
Если powershell 2 установлен на всех ваших серверах, тогда перейдите на WS-management: Setup: http://technet.microsoft.com/en-us/magazine/ff700227.aspx & Use: http://technet.microsoft. ком/EN-US/библиотека/dd819505.aspx –