As informações sobre itens fixos na tela inicial e na barra de tarefas são armazenadas nas seguintes chaves:
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist\{...}\Count
e
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\TaskBand
Infelizmente, todos os valores-chave são blobs binários criptografados, portanto você não pode editá-los diretamente. Além disso, não há política de grupo que a controle. A Microsoft fez isso deliberadamente para desencorajar os fornecedores de aplicativos a colocar seus produtos de sobra na sua cara. Eu acho essa desculpa risível, já que isso não impede que programadores obscuros se comportem mal, mas faz com que seja uma dor para você realizar uma função administrativa legítima.
Modificar a barra de tarefas programaticamente requer que você escreva um script que simule um clique com o botão direito do mouse sobre o item no menu Iniciar e clique em "Fixar / soltar da barra de tarefas" da seguinte forma:
Dim objShellApp
Dim objWMI
Dim objVerb
Dim objScreen
Dim objProcess
Dim colVerbs
Dim colScreens
Dim colProcesses
Set objFS = CreateObject("Scripting.FileSystemObject")
Set objShell = CreateObject("WScript.Shell")
Set objShellApp = CreateObject("Shell.Application")
Set objWMI = GetObject("winmgmts:\.\root\CIMV2")
'Remove Windows Media Player from Taskbar
If objFS.FileExists(objShell.SpecialFolders("AllUsersPrograms") & "\Windows Media Player.lnk") Then
Set colVerbs = objShellApp.Namespace(objShell.SpecialFolders("AllUsersPrograms")).ParseName("Windows Media Player.lnk").Verbs
For Each objVerb in colVerbs
If objVerb.Name = "Unpin from Tas&kbar" Then
objVerb.DoIt
Exit For
End If
Next
End If
'Add Microsoft Outlook to Taskbar
If objFS.FileExists(objShell.SpecialFolders("AllUsersPrograms") & "\Microsoft Office\Microsoft Outlook 2010.lnk") Then
Set colVerbs = objShellApp.Namespace(objShell.SpecialFolders("AllUsersPrograms") & "\Microsoft Office").ParseName("Microsoft Outlook 2010.lnk").Verbs
For Each objVerb in colVerbs
If objVerb.Name = "Pin to Tas&kbar" Then
objVerb.DoIt
Exit For
End If
Next
End If
Modifique o script para quaisquer itens que você queira fixar / desmarcar. Você precisará deste script para ser executado no contexto do logon de cada usuário. Você não pode fazer isso em massa. Portanto, você terá que despejar esse script na chave de registro RunOnce na seção de registro de cada usuário.
Ou, você poderia adicionar uma linha no final do arquivo de script para tê-lo cometer suicídio quando terminar e colocá-lo na pasta de inicialização de cada usuário (incluindo o usuário padrão para que seja aplicado quando novos usuários entrarem).
objFS.DeleteFile WScript.ScriptFullName
De qualquer forma, você não deseja colocá-lo no perfil Todos os usuários. Você precisa garantir que ele execute somente uma vez para cada pessoa em seu próprio contexto de usuário e nunca mais executá-lo novamente (para que não destruam suas personalizações).