Desativar o Windows Update automático para clientes WLAN

1

Estou procurando uma maneira de desativar as atualizações automáticas do Windows no Windows 7 quando estiver conectado à Internet sem fio.

Os clientes estão todos conectados a um controlador de domínio 2008 R2.

Fazendo uma pesquisa rápida no google, não encontrei nada.

Tem que haver uma maneira de conseguir isso, eu assumo.

Alguém sabe uma chave de registro ou alguma invasão de política de grupo que me ajudará a fazer isso?

Obrigado

    
por Master Azazel 17.03.2016 / 10:29

2 respostas

0

Talvez você possa usar esse C # Code rápido, mas muito fácil de usar. Eu sugeriria colocar isso em um "Serviço" próprio que será implantado (por exemplo, sobre o GPO) nas máquinas de destino.

Então, o que o código: Ele cria um manipulador de eventos em "NetworkInformation.NetworkAddressChanged", que sempre dispara, se algo nas interfaces de rede mudar (por exemplo, o WIFI foi desativado, o endereço IP foi alterado, o laptop foi colocado na ethernet). Em seguida, ele verifica se pelo menos uma interface de rede ethernet está funcionando: se assim for, inicie o serviço "Windows Update" - se não, pare o serviço "Windows Update"

namespace WindowsUpdateLANOnly
{
    class Program
    {
        static void Main(string[] args)
        {
            //NetworkInformation from reference: System.Net.NetworkInformation
            NetworkChange.NetworkAddressChanged += new NetworkAddressChangedEventHandler(AddressChangedCallback);
            Console.WriteLine("Listening for address changes. Press any key to exit.");
            Console.ReadLine();
        }

        private static void AddressChangedCallback(object sender, EventArgs e)
        {
            //handle only events from the ethernet network interface
            var adapters = NetworkInterface.GetAllNetworkInterfaces().Where(p => p.NetworkInterfaceType == NetworkInterfaceType.Ethernet);
            //check if we have at least one ethernet network interface online
            bool isOnLAN = false;
            foreach (NetworkInterface ethernetNetwork in adapters)
            {
                Console.WriteLine("   {0} is {1}", ethernetNetwork.Name, ethernetNetwork.OperationalStatus);
                if (ethernetNetwork.OperationalStatus == OperationalStatus.Up)
                {
                    isOnLAN = true;
                }
            }
            //deactivate or activate the windows update service
            WindowsUpdateService(isOnLAN);
        }

        private static void WindowsUpdateService(bool start)
        {   //ServiceController from reference: System.ServiceProcess
            ServiceController sc = new ServiceController("Windows Update");

            Console.WriteLine("Try to {0} the windows update service", start?"Activate":"Deactivate");
            if (start) //should start
            {
                if(sc.Status.Equals(ServiceControllerStatus.Stopped) ||
                    sc.Status.Equals(ServiceControllerStatus.StopPending))
                {
                    sc.Start();
                    //var timeout = new TimeSpan(0, 0, 5); // 5 seconds
                    //sc.WaitForStatus(ServiceControllerStatus.Running, timeout);
                    Console.WriteLine("Windows update service started");
                }
            }
            else //should stop
            {
                if (sc.Status.Equals(ServiceControllerStatus.Running) ||
                    sc.Status.Equals(ServiceControllerStatus.StartPending))
                {
                    sc.Stop();
                    //var timeout = new TimeSpan(0, 0, 5); // 5 seconds
                    //sc.WaitForStatus(ServiceControllerStatus.Stopped, timeout);
                    Console.WriteLine("Windows update service stopped");
                }
            }
        }
    }
}

O que você acha?

    
por 17.03.2016 / 18:06
0

Não tenho certeza de quão eficiente seria, mas você pode corrigir um script que executa e verifica a conectividade de rede (o cartão está ativado, extraiu um endereço IP) por meio do adaptador WLAN e interrompe o serviço de atualização do Windows. Apenas um pensamento

    
por 17.03.2016 / 13:23