Вам нужна какая-то экспертная помощь от вашего гуру (после 3 дней попыток моего собственного lol). Вот часть моего сценария, который не работает:Котировки Powershell Use asisstance
$yy=(get-date).Year
Invoke-Command -ComputerName *ipaddress* -Credential $moveitcred {
move-item -path "C:\iCApps\Dev\LetterGenerator\Letters\FTS\EDMS\*.txt" -destination "C:\Moveitft\Dev\Letters\Outbound" -force
Start-Process -FilePath "C:\Program Files\7-Zip\7z.exe" -ArgumentList "a -y C:\Moveitft\Dev\Letters\archive\Letters$yy_.zip C:\Moveitft\Dev\Letters\Outbound\*.*"
}
Переезд отлично работает. И zip отлично работает, за исключением случаев, когда я хочу включить в список аргументов годность ($ yy). Powershell не хочет заполнять переменную, чтобы настроить имя файла. Либо он бомбит, цитируя $ null, или задание завершается просто пробелом, где должен стоять $ yy.
Если я запускаю всего $ yy из приглашения, он возвращает правильное значение года, поэтому я предполагаю, что это неправильное использование кавычек. Но после 3 дней поиска в Google и попыток различных комбинаций, я бросаю полотенце. Любая помощь/руководство будет так высоко оценили :)
Есть ли причина предположить, что целевой сервер имеет другой год, чем тот, который делает вызов? Попробуйте объявить $ yy внутри скриптового блока, перед линией Start-Process и посмотреть, получится ли вам то, что вам нужно.В противном случае вам, возможно, придется использовать -ArgumentList вместе с Invoke-Command – notjustme
CORRECT! Спасибо также старшему старшему, кто на самом деле задумался об этом вчера. А потом и вам, кто подтвердил это сегодня утром. Это разрешило это - объявив в блоке скрипта! –