Saya sedang mencari online dan benar-benar menemukan ini secara acak.
Singkatnya, kombinasi dari PowerShell (skrip disediakan) dan GPO.
http://4sysops.com/archives/forcing-notification-area-icons-to-always-show-in-windows-7-or-windows-8/
Ceritanya panjang, buat skrip PowerShell yang berisi yang berikut:
param(
[Parameter(Mandatory=$true,HelpMessage='The name of the program')][string]$ProgramName,
[Parameter(Mandatory=$true,HelpMessage='The setting (2 = show icon and notifications 1 = hide icon and notifications, 0 = only show notifications')]
[ValidateScript({if ($_ -lt 0 -or $_ -gt 2) { throw 'Invalid setting' } return $true})]
[Int16]$Setting
)
$encText = New-Object System.Text.UTF8Encoding
[byte[]] $bytRegKey = @()
$strRegKey = ""
$bytRegKey = $(Get-ItemProperty $(Get-Item 'HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\TrayNotify').PSPath).IconStreams
for($x=0; $x -le $bytRegKey.Count; $x++)
{
$tempString = [Convert]::ToString($bytRegKey[$x], 16)
switch($tempString.Length)
{
0 {$strRegKey += "00"}
1 {$strRegKey += "0" + $tempString}
2 {$strRegKey += $tempString}
}
}
[byte[]] $bytTempAppPath = @()
$bytTempAppPath = $encText.GetBytes($ProgramName)
[byte[]] $bytAppPath = @()
$strAppPath = ""
Function Rot13($byteToRot)
{
if($byteToRot -gt 64 -and $byteToRot -lt 91)
{
$bytRot = $($($byteToRot - 64 + 13) % 26 + 64)
return $bytRot
}
elseif($byteToRot -gt 96 -and $byteToRot -lt 123)
{
$bytRot = $($($byteToRot - 96 + 13) % 26 + 96)
return $bytRot
}
else
{
return $byteToRot
}
}
for($x = 0; $x -lt $bytTempAppPath.Count * 2; $x++)
{
If($x % 2 -eq 0)
{
$curbyte = $bytTempAppPath[$([Int]($x / 2))]
$bytAppPath += Rot13($curbyte)
}
Else
{
$bytAppPath += 0
}
}
for($x=0; $x -lt $bytAppPath.Count; $x++)
{
$tempString = [Convert]::ToString($bytAppPath[$x], 16)
switch($tempString.Length)
{
0 {$strAppPath += "00"}
1 {$strAppPath += "0" + $tempString}
2 {$strAppPath += $tempString}
}
}
if(-not $strRegKey.Contains($strAppPath))
{
Write-Host Program not found. Programs are case sensitive.
break
}
[byte[]] $header = @()
$items = @{}
for($x=0; $x -lt 20; $x++)
{
$header += $bytRegKey[$x]
}
for($x=0; $x -lt $(($bytRegKey.Count-20)/1640); $x++)
{
[byte[]] $item=@()
$startingByte = 20 + ($x*1640)
$item += $bytRegKey[$($startingByte)..$($startingByte+1639)]
$items.Add($startingByte.ToString(), $item)
}
foreach($key in $items.Keys)
{
$item = $items[$key]
$strItem = ""
$tempString = ""
for($x=0; $x -le $item.Count; $x++)
{
$tempString = [Convert]::ToString($item[$x], 16)
switch($tempString.Length)
{
0 {$strItem += "00"}
1 {$strItem += "0" + $tempString}
2 {$strItem += $tempString}
}
}
if($strItem.Contains($strAppPath))
{
Write-Host Item Found with $ProgramName in item starting with byte $key
$bytRegKey[$([Convert]::ToInt32($key)+528)] = $setting
Set-ItemProperty $($(Get-Item 'HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\TrayNotify').PSPath) -name IconStreams -value $bytRegKey
}
}
Simpan sebagai file ps1 menggunakan nama pilihan Anda.
Buka MMC Manajemen Kebijakan Grup. Pilih Objek Kebijakan Grup yang Anda pilih, klik kanan dan pilih Edit. Di editor, navigasikan ke Konfigurasi Pengguna> Pengaturan Windows> Skrip> Masuk dan klik "Properti Tampilan". Buka tab PowerShell dan klik Lihat File.
Salin skrip yang baru saja Anda buat ke jendela Explorer yang baru saja dibuka lalu tutup keluar dari jendela.
Di jendela properti skrip login, tambahkan skrip PowerShell baru, dalam nama skrip, masukkan nama skrip yang Anda gunakan (contoh: NotifyIcon.ps1), dan kemudian pada parameter, masukkan nama program (peka huruf besar kecil!) Diikuti oleh pengaturan untuk digunakan:
0 = hanya tampilkan pemberitahuan 1 = sembunyikan ikon dan pemberitahuan 2 = tampilkan ikon dan pemberitahuan <--- Yang Anda butuhkan
Contoh, jika Anda memerlukan server RealVNC untuk selalu muncul, Anda akan memasukkan:
winvnc4.exe 2
sebagai paramenter
Anda dapat menemukan nama yang dapat dieksekusi dalam beberapa cara yang berbeda, seperti membuka kotak dialog Run dan mengetik msconfig
dan melihat program startup, menavigasi secara manual ke direktori instalasi C:\Program Files\{your program}
, atau mencoba mencocokkan program yang diinginkan dengan melihat menjalankan proses dalam Task Manager. 9 kali dari 10 ini akan menghasilkan kesuksesan.
Agar ini berfungsi, pengguna harus sebelumnya menjalankan aplikasi, dan kemudian keluar dengan benar, sehingga explorer.exe mendapat kesempatan untuk menulis riwayat area pemberitahuan yang diperbarui ke Registry. Pada login berikutnya, skrip harus berhasil menemukan program dalam sejarah, dan memperbarui pengaturannya untuk selalu ditampilkan.
Anda juga dapat mencoba menjalankan skrip secara manual dari PowerShell prompt untuk debug, tetapi Anda HARUS membunuh explorer.exe ('taskkill / f / im explorer.exe') sebelum menjalankannya, jika tidak explorer tidak akan melihat pembaruan Anda, dan akan menimpa ketika itu berhenti.
Saya tidak mengambil kredit untuk proses ini. Saya tidak menulisnya, saya hanya menemukannya. Penghargaan untuk naskah jatuh ke Micah Rowland . Kredit untuk proses GPO jatuh ke Geoff Kendal