2

我知道我可以在Win7注册表中全局设置一个runonce键,无论下次哪个用户登录都会执行,使用这个注册表键:

HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce

我只需要为特定用户进行初始化,所以我想知道是否有一种方法可以以编程方式(使用 Powershell)设置一个 runonce-entry,只有在一个特定用户登录时才会执行,如果这个用户不是管理员.

你知道这样做的方法吗?谢谢。

4

1 回答 1

3

我认为这个问题和其他问题(http://stackoverflow.com/questions/10908727/how-can-i-programatically-find-a-users-hkey-users-registry-key-using-powershell)是相关的:

无论如何,这是你如何做到的:

$User = New-Object System.Security.Principal.NTAccount($env:UserName)
$sid = $User.Translate([System.Security.Principal.SecurityIdentifier]).value

New-PSDrive HKU Registry HKEY_USERS
Get-Item "HKU:\${sid}"

Set-ItemProperty -Path "HKU:\${sid}\Software\Microsoft\Windows\CurrentVersion\RunOnce" -Name Command -Value "notepad.exe"
于 2012-06-06T06:51:26.397 回答