Copy-Item to networkpath: неверное имя пользователя или пароль
У меня есть сценарий PowerShell v1, который запускается ПЛК. Следует скопировать файл с рабочего стола встроенного ПК в сетевой путь.
Если я запускаю скрипт вручную, он работает просто отлично, но если скрипт запускается ПЛК, я получу следующую ошибку:
+ CategoryInfo: Не указано: (:) [Copy-Item], IOException + FullyQualifiedErrorId: System.IO.IOException,Microsoft.PowerShell.Commands.CopyItemCommand copy-item: Неверное имя пользователя или пароль.
Любые советы, почему я получаю эту ошибку, будут очень благодарны!
1 ответ
Спасибо за вашу помощь @TheIncorrigible1 после прочтения вашего комментария я обнаружил проблему!
Проблема заключалась в том, что скрипт, запущенный plc, запускается с другим пользователем, чем скрипт, запускаемый вручную.
Поэтому обходной путь - сначала запустить powershell с правильными учетными данными с помощью другого сценария. Например вот так:
$ usr = 'XXX'
$ paswrd = 'XXX'
$ securePassword = ConvertTo-SecureString $ paswrd -AsPlainText -Force
$ credential = New-Object System.Management.Automation.PSCredential $ usr, $ securePassword
$ args = "/ путь к вашему скрипту"
Запуск-процесс powershell.exe -Credential $credential -ArgumentList ("-file $args")
недостаток... пароль в виде обычного текста...