Я немного озадачен и ссылался на множество других записей как в SuperUser, так и в StackOverflow по вопросам, аналогичным моим, но пока безрезультатно. Я также читал различные другие сайты и тому подобное с помощью поиска Google. Тем не менее, застрял, однако. Может я просто дремучий :)
В любом случае, у меня есть общая папка под названием "WindowsUpdate" на моем персональном рабочем компьютере, которая доступна всем остальным компьютерам (если администратор) в нашей локальной сети здесь, где я работаю. Эта папка содержит сценарий PowerShell, который автоматизирует мой процесс обновления, который включает в себя поиск обновлений Windows, их загрузку и установку. Я использую модуль Windows PowerShell для выполнения этой задачи. Все отлично работает с точки зрения обновления, за исключением того, что я хотел бы также включить небольшую строку кода, которая копирует модуль обновления Windows PowerShell из моей общей папки в соответствующее место на C:\ удаленного компьютера. До сих пор я был неудачен в своих многочисленных испытаниях. Любая помощь будет высоко ценится.
Я попытался использовать Copy-Item
для этого, а также мою последнюю попытку ниже в моем сценарии.
Echo ""
Echo "Setting Execution policy to BYPASS"
Set-ExecutionPolicy Bypass -Confirm:$false
Echo ""
Echo "Copying Module PSWindowsUpdate to PowerShell Modules Folder"
Invoke-Command -ComputerName AssistDirOffice -ScriptBlock {Copy-Item -Path \\ASSISTDIROFFICE\WindowsUpdate\PSWindowsUpdate -Destination C:\Windows\System32\WindowsPowerShell\v1.0\Modules}
Pause
Echo""
Echo "Updating Chocolatey Packages"
#Queries Chocolatey.org database for updates to locally installed packages and updates them if necessary
cup all -y -allowemptychecksums
Echo ""
Echo "Importing Powershell Module PSWindowsUpdate"
#Installs Powershell Update module
Import-Module PSWindowsUpdate
refreshenv
Echo ""
Echo "Querying Microsoft Update Server for Windows Updates"
#Queries Microsoft Windows Update servers for updates and install any new ones found.
Get-WUList
Echo ""
Echo "Hiding Microsoft Security Essentials and Skype Install and Updates"
Hide-WUUpdate -Title "Microsoft Security Essentials*" -Confrim:$false
Hide-WUUpdate -Title "Skpe*" -Confirm:$false
Hide-WUUpdate -Title "Preview*" -Confirm:$false
Echo ""
Echo "Downloading and Installing Windows Updates"
Get-WUInstall -acceptall
Вот сообщение об ошибке, которое я получаю из приведенного выше кода:
[AssistDirOffice] Соединение с удаленным сервером AssistDirOffice завершилось неудачно со следующим сообщением об ошибке: WinRM-клиент не может обработать запрос. Если схема аутентификации отличается от Kerberos, или если клиентский компьютер не присоединен к домену, то должен использоваться транспорт HTTPS или конечный компьютер должен быть добавлен в параметр конфигурации TrustedHosts. Используйте winrm.cmd для настройки TrustedHosts. Обратите внимание, что компьютеры в списке TrustedHosts могут не проходить проверку подлинности. Вы можете получить больше информации об этом, выполнив следующую команду: winrm help config. Для получения дополнительной информации см. Раздел справки about_Remote_Trou Troubleshooting.
- CategoryInfo: OpenError: (AssistDirOffice: String) [], PSRemotingTransportException
- FullyQualifiedErrorId: ServerNotTrusted, PSSessionStateBroken
Мои вопросы следующие:
1) Я использую правильный код и синтаксис для выполнения этой задачи?
2) Кажется, существует какая-то проблема безопасности, связанная с доверенным хостом. Какой лучший способ решить эту проблему?
ОБНОВИТЬ
Я продолжал возиться с вещами и выяснил, как сделать мой компьютер надежным хостом на удаленной машине; однако сейчас я получаю это сообщение об ошибке:
[AssistDirOffice] Соединение с удаленным сервером AssistDirOffice завершилось неудачно со следующим сообщением об ошибке: Клиент WinRM не может обработать запрос, поскольку имя сервера не может быть разрешено. Для получения дополнительной информации см. Раздел справки about_Remote_Trou Troubleshooting.
- CategoryInfo: OpenError: (AssistDirOffice: String) [], PSRemotingTransportException
- FullyQualifiedErrorId: ComputerNotFound, PSSessionStateBroken
Другие заметки, которые могут быть полезны
Я не пытаюсь подключиться к реальному серверу или домену, я просто полагаю, что мой рабочий стол эффективно работает как сервер.