Цель состоит в том, чтобы использовать модуль Win_chocolatey от Ansible в экземпляре GCE.
В настоящее время экземпляром GCE (Windows Server 2012 R2) можно управлять с помощью Ansible (т.е. его можно проверить с помощью win_ping), однако, поскольку у него нет внешнего IP-адреса, у него нет прямого доступа в Интернет.
Экземпляр управляется Ansible через учетную запись локального администратора, пароль которой был сброшен через Google SDK (т. Е. gcloud compute reset-windows-password
).
Я попытался настроить экземпляр для доступа в Интернет через прокси-сервер Squid3 (который, как я подтвердил, работает), однако ни команды netsh, ни regex.exe не работают. Я пробовал запустить следующее, используя модуль Win_shell от Ansible:
set-itemproperty -path 'HKCU:Software\Microsoft\Windows\CurrentVersion\Internet Settings' -name ProxyServer -value 'https://gateway-instance.c.project-name.internal:3128'
set-itemproperty -path 'HKCU:Software\Microsoft\Windows\CurrentVersion\Internet Settings' -name ProxyEnable -value '1'
reg.exe add "HKCU\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v proxyenable /t reg_DWORD /d 1 /f
reg.exe add "HKCU\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v proxyserver /t reg_SZ /d gateway-instance.c.project-name.internal:3128 /f"
netsh winhttp set proxy proxy-server="http://gateway-instance.c.project-name.internal:3128"
Я заметил, что команды для изменения реестра ничего не делают, пока администратор не войдет в систему (например, через RDP); Я предполагаю, потому что у учетной записи есть профиль, для которого нужно изменить реестр.
Однако в экземплярах Linux мне удалось установить переменные среды документация Ansible утверждает, что среда: в настоящее время не поддерживается для целей Windows.
Что можно сделать в экземпляре GCE или в другом месте, чтобы модули Ansible могли получить доступ в Интернет?