草庐IT

Registry

全部标签

windows - 检查注册表值是否等于 1 无法正常工作

我将一些PowerShell拼凑在一起以远程查询存储在.csv文件中的机器列表以获取注册表值。如果注册表项的值等于“1”,则脚本应使用机器名称作为文本文件的名称来创建一个文本文件。一切正常。该脚本运行愉快,没有任何错误。问题是,当我返回并远程检查目标注册表值时,我发现该值不是1。脚本只是为.csv中的每一行创建一个文件。我做错了什么?编辑***我发现一个问题我在注册表路径的$key变量中有错字。2013年7月17日下午2:21$File=Import-Csv'c:\temp\machines.csv'foreach($linein$file){$machinename=$line.ma

Windows 显示/隐藏隐藏文件/文件夹 - 单击 - 是否可以使用批处理文件 - 或单击?

要在XP、Vista或7等Windows操作系统中显示/隐藏隐藏文件/文件夹,我们必须...转到资源管理器选择工具菜单文件夹选项查看选项卡选择单选按钮显示/隐藏隐藏文件/文件管理器是否有任何dos命令/批处理脚本可以执行此操作?我只想通过单击(无论是.bat文件还是其他任何文件)来完成它。我搜索并找到了受病毒影响的文件的答案-Windowsbatchscripttounhidefileshiddenbyvirus-但它特定于用户输入的单个驱动器-而且受病毒影响也是如此。我还发现为此需要在注册表中进行更改。[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Wi

regex - 在 PowerShell 中,如果环境变量(如 $SystemRoot$)是字符串的一部分,我该如何转换它们?

我正在尝试编写一个脚本,该脚本从一组注册表项中读取文件路径,但这些路径具有%SystemRoot%之类的环境变量。我知道您通常可以使用以下方法查找这些路径的值:$env:SystemRoot例如。但是,如果PS收到一个字符串,如“%SystemRoot%\System32\Winevt\Logs\DebugChannel.etl”,如何将其转换为我需要的完整路径,即“C:\Windows\System32\Winevt\Logs\DebugChannel.etl"?我试过使用regex-replace将%%格式转换为$env:格式:$_.FileName-replace"%(\w*)%

c - 从 C 中的 Windows 内核驱动程序读取注册表

我需要从注册表(最好)或文件中读取设置。该驱动程序是一个内核驱动程序,设置为启动类型设置为SYSTEM,因此所有服务和WinAPI不一定都可用。我正在尝试使用RtlQueryRegistryValues函数以便从注册表中读取单个String值,但无论我做什么,我似乎都得到相同的0xC0000034转换为STATUS_OBJECT_NAME_NOT_FOUND的错误代码.根据MSDN上提供的文档STATUS_OBJECT_NAME_NOT_FOUND从RtlQueryRegistryValues返回当路径参数与有效键不匹配时,或者设置了特定标志并且不满足特定于该标志的条件时。据我所知,注

windows - 删除环境变量不起作用

为什么在Windows7Professional中使用regdeleteHKCU\Environment/F/VTestVar删除环境变量会将其从注册表中删除,但变量仍然存在?详细信息如下:我创建了以下3个.cmd文件:检查变量.cmdechoTestVar=%TestVar%pause设置变量.cmdsetxTestVar123pause删除变量.cmdregdeleteHKCU\Environment/F/VTestVarpause然后我按照以下步骤操作(双击以确保我每次都开始一个新session):双击Checkvariable.cmd,我发现TestVar不存在双击Setvar

java - 如何在 Windows 启动时从注册表启动 jar 文件?

我正在尝试在WindowsServer2008R2启动时启动一个jar文件。我试图添加一个键\值到HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run我尝试了几种替代方案作为值(value):java-jarc:\jcm\jcm.jar"java-jarc:\jcm\jcm.jar"c:\programfiles(x86)\java\jre1.8.31\bin\java.exe-jarc:\jcm\jcm.jar"c:\programfiles(x86)\java\jre1.8.31\bin\java.exe-j

windows - 在 Perl 中读取 Windows 注册表

这个问题在这里已经有了答案:HowdoImakethe32-bitPerlreadthe64-bitWindowsregistry?(3个答案)关闭7年前。我试图在不检查一系列硬编码路径的情况下获取程序的安装位置,希望从Windows注册表中存储的路径中获取它,但是当我尝试时得到空的返回值或错误消息读取所需的键值。我读过ParsingwindowsregistryusingPerl,我认为我已经将所有答案合并到我的脚本中,但是当我尝试读取注册表值时,我总是得到一个空的结果,即使是从提升的命令提示符运行以确保脚本具有管理员权限也是如此。我首先尝试使用Win32::TieRegistry,

windows - 写入 Windows 注册表?

我开发了一个必须写入Windows注册表的实用程序。我想知道没有管理员权限的用户是否可以写入注册表。我试过“HKEY_LOCAL_MACHINE”,它被锁定了。这些用户可以写入注册表中的任何部分吗?如果不是-如果用户不是管理员中的成员,则用户需要什么权限才能写入注册表。组?提前致谢! 最佳答案 对于用户设置,您必须使用HKEY_CURRENT_USER。每个用户都有此注册表的个人副本,一个用户无法访问另一个用户的设置。如果用户有漫游配置文件,注册表将与用户在不同的计算机上漫游。如果您确实需要存储在本地计算机上并由该计算机上的所有用户

c# - 如何从控制面板的添加/删除程序中获取图标

我正在尝试做一个基本上模拟Windows控制面板的添加/删除程序功能的应用程序。我目前正在使用注册表,我不使用WMI因为太慢而且只返回由.msi文件安装的软件,有我目前正在阅读的key:HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\UninstallHKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\UninstallHKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\UninstallHKCU\SOFTWARE\Wow6432No

C# Windows 注册表 GetValue 错误

我有一个程序可以从“Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\LastVisitedMRU”输出各种注册表值。但是程序在GetValue部分或程序的s变量处输出错误Cannotimplicityconverttype'object'to'string'!并且程序输出“也无法访问已关闭的注册表项”的错误。有人可以就代码提供建议吗?谢谢!代码:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingMic