Проблема с фильтрацией результатов удаленной команды GCI [дубликат]

В ES5 и ранее вы должны создать этот объект с помощью ряда операторов:

var dictObj = {};
dictObj[myObj.action1] = "action1";
dictObj[myObj.action2] = "action2";
dictObj[myObj.action3] = "action3";

Начиная с ES2015 (иначе ES6), вы можете сделать это с именами вычисляемых свойств в вместо этого инициализатор объекта:

let dictObj = {
    [myObj.action1]: "action1",
    [myObj.action2]: "action2",
    [myObj.action3]: "action3"
};

Вы можете использовать любое выражение внутри [] для создания имени свойства; в этом случае это просто простой поиск свойств.

В обоих случаях обратите внимание, что нет отношения live ; если вы измените myObj.action1 на 42 позже , после выполнения вышеизложенного это не влияет на имя свойства в dictObj.

0
задан Aerondight 31 March 2016 в 09:13
поделиться

2 ответа

Либо вы объявляете параметры в начале вашего скриптового блока:

   {  
        param($user,$unsecurepassword)
        net use P: \\Server\dir1\dir2 /persistent:no /user:$User $UnsecurePassword
        Get-EventLog -LogName System -After (Get-Date).AddHours(-12) -EntryType Error, Warning | format-list | 
        out-file P:\EventLog_$env:COMPUTERNAME.log
        net use P: /delete /yes
    }

Или вы присоединяетесь к своим аргументам с помощью переменной $args:

#first passed parameter
$args[0]
#second passed parameter
$args[1]
....

Документация: MSDN

3
ответ дан Paul 19 August 2018 в 06:17
поделиться
  • 1
    Оно работает. Большое спасибо! – Aerondight 31 March 2016 в 09:23
  • 2
    Просто убедитесь, что ваши переменные в param() совпадают с теми, которые вы проходите через -ArgumentList. Я узнал, что один из трудных способов, когда мой компьютер все время отображался как мой ID пользователя lol – nkasco 31 March 2016 в 12:26

В качестве альтернативы вы можете использовать область $Using:. Пример:

$servicesToSearchFor = "*"
Invoke-Command -ComputerName $computer -Credential (Get-Credential) -ScriptBlock { Get-Service $Using:servicesToSearchFor }

С помощью $Using: вам не нужен параметр -ArgumentList, а параметр $Using: f5] в скриптблоке.

5
ответ дан Moerwald 19 August 2018 в 06:17
поделиться
Другие вопросы по тегам:

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