使用PowerShell

时间:2017-09-20 18:01:02

标签: powershell gpo

我想为使用powershell的多台计算机配置GPO,但我无法找到适当的GP对象命令和路径。 我需要禁止用户通过

运行特定的应用程序
  

用户配置>管理模板>系统>不要运行指定的Windows应用程序

..并指定应用程序(例如wmplayer.exe,vlc.exe等)

我应该使用什么命令? Set-GPPrefRegistryValue或Set-GPRegistryValue?

提前感谢任何提示!

更新:

我制作了这个剧本

$hostname = "hostname"

$BaseKey = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey( 'CurrentUser' , $hostname )

$SubKey_1 = $BaseKey.OpenSubKey(“Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\”,$true)

$SubKey_1 = $BaseKey.CreateSubKey(“Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\DisallowRun”,$true)

$SubKey_1 = $BaseKey.OpenSubKey(“Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\”,$true)

$ValueName_1 = “DisallowRun”
$ValueData_1 = 1

#DisallowRun DWORD
$SubKey_1.SetValue($ValueName_1, $ValueData_1, [Microsoft.Win32.RegistryValueKind]::DWORD)

$SubKey_2 = $BaseKey.OpenSubKey(“Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\DisallowRun”,$true)

#forbidden apps
$1n = "wmplayer"
$1v = "wmplayer.exe"
$2n = "test1"
$2v = "test.exe"
$3n = "calc"
$3v = "calc.exe"

$SubKey_2.SetValue($1n, $1v, [Microsoft.Win32.RegistryValueKind]::String)
$SubKey_2.SetValue($2n, $2v, [Microsoft.Win32.RegistryValueKind]::String)
$SubKey_2.SetValue($3n, $3v, [Microsoft.Win32.RegistryValueKind]::String)

但它对当前登录的用户不起作用(我只能在目标计算机上的凭据下打开的regedit中看到这些值)。 我也尝试在LocalComputer注册表下做同样的事情 - 它也不起作用。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

您可以在getadmx.com上找到所有管理模板的注册表项。

Don't run specified Windows applications on getadmx.com