Правильно ли я прочитал, что существует только один файл сценария, только на локальном сервере, а не на любом из удаленных клиентов?
Если это так, то я думаю, что вы должны попробовать этот синтаксис:
$FileName = "ConfigurationWinRM.ps1"
$ItemLocation = "C:\Windows\Temp\"
Invoke-Command -ComputerName $ComputerName -filepath "$ItemLocation$FileName" -cred $credential
Я думаю, что происходит, когда вы используете синтаксис блока скриптов:
- скрипт-блок, определенный на локальной машине, инкапсулированный как объект
- объект scriptblock передается на каждую удаленную машину
- scriptblock дословно выполняется на удаленной машине, поэтому он ищет ваш файл сценария на машине remote по адресу c: \ windows \ temp (он не существует, поэтому выдает некоторую ошибку BS, запрещающую доступ)
На основании справочной информации о параметре filepath, использование -filepath сделает следующее:
- читать в файле скрипта локально, конвертировать
содержимое к объекту блока скрипта
- объект scriptblock передается каждому
удаленная машина
- Скриптблок дословно выполнен на
удаленная машина, нет ссылок на
Файл .ps1 вообще на данный момент