Estou um pouco perplexo e referenciei várias outras entradas no SuperUser e no StackOverflow relativas a problemas semelhantes aos meus, mas sem resultado até agora. Eu também li vários outros sites e tal através da pesquisa do google. Ainda preso, no entanto. Talvez eu seja apenas densa:)
De qualquer forma, eu tenho uma pasta compartilhada intitulada "WindowsUpdate" no meu computador de trabalho pessoal que está disponível para todos os outros computadores (se um administrador) em nossa LAN aqui onde eu trabalho. Essa pasta inclui um script do PowerShell que automatiza meu processo de atualização, que inclui encontrar atualizações do Windows, baixá-las e instalá-las. Estou usando o Módulo do Windows Update PowerShell para realizar essa tarefa. Tudo funciona bem do ponto de vista da atualização, exceto que eu também gostaria de incluir uma pequena linha de código que copia o PowerShell Windows Update Module da minha pasta compartilhada para o local apropriado no C: \ da máquina remota. Eu fui mal sucedido em minhas inúmeras tentativas até agora. Qualquer ajuda será muito apreciada.
Eu tentei usar o Copy-Item
para isso, bem como a minha tentativa mais recente abaixo no meu script.
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
Aqui está a mensagem de erro que estou recebendo do código acima:
[AssistDirOffice] Connecting to remote server AssistDirOffice failed with the following error message : The WinRM client cannot process the
request. If the authentication scheme is different from Kerberos, or if the client computer is not joined to a domain, then HTTPS transport must
be used or the destination machine must be added to the TrustedHosts configuration setting. Use winrm.cmd to configure TrustedHosts. Note that
computers in the TrustedHosts list might not be authenticated. You can get more information about that by running the following command: winrm
help config. For more information, see the about_Remote_Troubleshooting Help topic.
- CategoryInfo : OpenError: (AssistDirOffice:String) [], PSRemotingTransportException
- FullyQualifiedErrorId : ServerNotTrusted,PSSessionStateBroken
Minhas perguntas são as seguintes:
1) Estou usando o código e a sintaxe corretos para realizar essa tarefa?
2) Parece haver algum tipo de problema de segurança envolvendo um host confiável. Qual é a melhor maneira de resolver isso?
UPDATE
Eu continuei mexendo nas coisas e descobri como tornar meu computador um host confiável na máquina remota; no entanto, estou recebendo esta mensagem de erro:
[AssistDirOffice] Connecting to remote server AssistDirOffice failed with the following error message : The WinRM client cannot process the
request because the server name cannot be resolved. For more information, see the about_Remote_Troubleshooting Help topic.
- CategoryInfo : OpenError: (AssistDirOffice:String) [], PSRemotingTransportException
- FullyQualifiedErrorId : ComputerNotFound,PSSessionStateBroken
Outras notas que podem ser úteis
Não estou tentando conectar-me a um servidor ou domínio real, apenas ao meu desktop de trabalho, que está atuando efetivamente como um servidor, suponho.