Дистанционная работа Powershell: Выполнение с практическими рекомендациями Comand на нескольких Машинах с отдельными Параметрами?

Почему Вы хотите выполнить брандмауэр на самом сервере. Вы рассмотрели помещение брандмауэра (такого как IPCop, pfSense, Smoothwall, и т.д.) МЕЖДУ Вашими серверами и Интернетом?

В дополнение к iptables на самом сервере (всегда прекрасная идея) я считал бы взятие его одним шагом дальше и наличием физического устройства / брандмауэр, находящийся перед Вашим сервером (серверами).

2
задан 26 March 2010 в 00:27
3 ответа

Это очень наивно в этом нет никакой проверки ошибок / и т.д., но это делает то, что Вы хотите. Я предполагаю здесь, что Вы используете Powershell 2.0 с WinRM.

Принятие Вас имеет установку CSV как это:

server,path
server1,c:\path1
server2,c:\path2
server3,c:\path3

Решение было бы похоже так:

$csvdata = import-csv .\test.csv
foreach ($row in $csvdata) {
    invoke-command $row.server { param($path) mkdir $path } -argumentlist $row.path
}

Единственная действительно странная часть здесь - то, как Вы передали путь в. Как правило, сценарий в вызывать-команде не может считать Ваши локальные переменные. Вы устанавливаете параметрический усилитель для него (названный $path) и затем помещенный локальная переменная $row.path в список аргументов - это позволяет команде mkdir на удаленных серверах использовать $path переменная и это видят то, что было передано в из файла CSV.

3
ответ дан 3 December 2019 в 11:13

если Ваше выполнение чего-то, это - wmi, базирующийся затем, можно использовать асинхронные вызовы!

0
ответ дан 3 December 2019 в 11:13

мой ответ был полностью от основы, так или иначе если Вы не имеете psv2 или не реализуете winrm.

$csvdata = импортируют-csv.\test.csv

foreach ($row в $csvdata) {

md  \\$row.server\c$\$row.path 

}

Я делаю это первое, что пришло на ум, поэтому протестируйте это сначала!

0
ответ дан 3 December 2019 в 11:13

Теги

Похожие вопросы