Excluir chave de registro em certas condições

0

Eu tenho um problema problemático para resolver. Navegou na internet há algum tempo, mas até agora não chegou nem perto de resolvê-la. Desculpas se isso foi respondido em outro lugar.

Eu cuido de um call center. Temos cerca de 70 computadores no nosso domínio. Há cerca de 120 funcionários usando esses PCs todos os dias. Quando eles fazem login em um PC pela primeira vez, um perfil de usuário é criado.

Usamos software específico de call center de diferentes fornecedores. A maioria deles opera em "por perfil" em vez de "por PC". Isso significa que todas as configurações são armazenadas em perfis de usuário. Isso se transformou em uma enorme confusão ao longo do tempo, à medida que cada usuário definia seu software de maneira diferente. Agora, quando quero implementar uma configuração, ela não funciona para todos os usuários / perfis / PCs, pois algumas configurações são contraditórias e não podem ser usadas simultaneamente. Eu preciso tratar o caso por base de perfil. Imagine o pesadelo - 70 PCs x 120 usuários - é simplesmente inviável.

Eu quero / preciso unificar as configurações. Para isso, comecei a desenvolver um script que pode copiar a configuração desejada para um perfil; no entanto, percebi rapidamente que existem muitas variáveis e a lista de instruções "if" continua para sempre.

Eu descobri que a melhor solução para limpar a bagunça é excluir todos os usuários de cada PC. Isso permitirá que eu copie as configurações desejadas automaticamente na próxima vez em que um usuário do domínio fizer login em um PC (na criação de seu perfil).

Isso também me permitirá recuperar algum espaço em disco rígido - temos uma alta rotatividade de pessoal e, embora os usuários antigos sejam excluídos do domínio, seus perfis de usuário ainda existem em cada máquina. Passando por alguns PCs, descobri que existem centenas de usuários obsoletos.

Eu descobri que posso matar dois pássaros com uma pedra, excluindo os perfis de usuário de cada computador. A coisa é que eu quero fazer isso corretamente. Eu descobri que havia duas maneiras de fazer isso. Uma maneira é usar o Windows GUI - permite selecionar apenas um perfil por vez; portanto, totalmente inadequado para o meu caso.

A outra maneira é simplesmente excluir todas as pastas desejadas e, em seguida, as chaves do Registro relevantes. A coisa é que eu quero excluir todos os perfis, mas três. Eles existem em todos os PCs - "Default", "piotr" (meu perfil) e "confirmit" (um perfil que usamos para determinadas tarefas).

Cobri o primeiro bit (exclusão de pastas) com um arquivo .bat. Agora eu preciso fazer o segundo bit (exclusão de chaves de registro); no entanto, não tenho ideia de por onde começar, de qualquer modo.

O problema é que preciso excluir todas, exceto cinco subchaves, na chave "HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ ProfileList". Primeiros 3 (S-1-5-18, S-1-5-19, S-1-5-20), que são os do sistema e, em seguida, 2 do S-1-5-21- *, que são usuários de domínio relacionados.

Eupossoidentificarprimeiro3porseusnomes;noentanto,osdoisúltimosprecisamseridentificadospelosvaloresdesuassubchaves.Aquelequefazmaissentidoparamim(epresumivelmenteteráomesmovaloremtodososPCs)é"ProfileImagePath". Ele terá "C: \ Users \ piotr" para o meu perfil e "C: \ Users \ confirmit" para o perfil "confirmit".

Portanto,alistacompletadaschavesquedesejodeixarintactasestáabaixo:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ProfileList\S-1-5-18HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ProfileList\S-1-5-19HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ProfileList\S-1-5-20HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\ProfileList\S-1-5-21-*ondeovalorde"ProfileImagePath" é "C: \ Users \ Piotr" HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ ProfileList \ S-1-5-21- * onde o valor de "ProfileImagePath" é "C: \ Users \ Confirmit"

O restante deles precisa ser excluído.

Eu tentei entender o comando "REG" do CMD (especialmente o "QUERY" e "COPY"), mas falhei miseravelmente. Eu quero usar o arquivo em lotes para que esta seria uma combinação perfeita, se eu pudesse fazê-lo funcionar:)

Mexer com o registro é sempre arriscado, então eu não queria ser muito arrogante aqui. Em vez disso, decidi procurar ajuda de especialistas; daqui, meu post aqui.

Acho que minha pergunta é se alguém pode me dar a solução final; portanto, se vocês estão prontos para um desafio, então isso é ótimo; no entanto, eu sei, nem sempre é possível, então eu ficaria igualmente grato se alguém me apontasse na direção certa.

Eu entendo que essa é uma pergunta muito específica e nem todos podem estar familiarizados com esse tópico. Eu agradeceria toda a ajuda que posso receber aqui e espero receber suas sugestões.

Obrigado antecipadamente.

    
por Piotr Zurek 19.10.2017 / 17:33

1 resposta

2

Não vá vasculhar o registro para isso, a menos que você realmente precise. Use ferramentas existentes para limpeza de perfil de usuário, como delprof2 :

delprof2 /ed:piotr /ed:confirmit

O programa também tem opções para excluir perfis com base no tempo do último uso.

    
por 19.10.2017 / 17:48