Hop*_*00b 6 windows command-line-interface environment-variables windows-command-prompt path
我希望将目录永久添加到%PATH%大量 Windows 机器上可用的环境中。有什么方法可以从命令行 ( cmd)执行此操作,以便我可以编写解决方案的脚本,而不必在数十台服务器上使用 GUI。
我怎样才能做到这一点?
Hop*_*00b 11
到目前为止,解决此问题的最简单方法是使用该setx命令,该命令包含在 Windows 7/Server 2008 及更高版本中,或作为适用于 XP 和 Server 2003 系统的Windows Server 2003 Resource Kit 的一部分。
您可以使用该setx命令在%PATH%变量中指定一组全新的目录,或者使用一些额外的逻辑附加一个值。假设我想将目录添加C:\stuff到%PATH%. 我会这样做:
setx PATH "%PATH%,C:\stuff" /M
这,C:\stuff通过用其当前值覆盖现有路径来附加到当前路径,后跟,C:\stuff. 路径环境变量以逗号分隔。该/M开关在 HKLM(系统范围)注册表配置单元中进行更改,而不是在 HKCU(当前用户)注册表配置单元中进行更改。
您可以将其放入登录/启动脚本中,或使用/s开关将远程服务器指定为目标,然后从您的工作站进行更改。例如,下面将使用mydomainadmin用户凭据将内容目录添加到 myserver.mydomain.com 上的路径中。
setx /s myserver.mydomain.com /u mydomain\mydomainadmin /p mypassword PATH "%PATH%,C:\stuff" /M
Run Code Online (Sandbox Code Playgroud)
通常的限定条件适用,主要是更改全局环境变量只会影响用户下次登录时的会话,并且只会在他们下次检查时应用到应用程序,通常是在启动时,因此最简单的方法是将其应用于所有内容是重新启动服务器,但如果您明确知道哪些用户或服务需要更改,则可以采取较少破坏性的措施来应用更改。
到目前为止,最简单的方法是使用组策略首选项客户端扩展(GPP),它包含在 Windows 7/Server 2008 及更高版本中,或者作为XP 和 Server 2003 系统更新的一部分。
您可以使用 GPP 设置在%PATH%变量“替换”中指定一组全新的目录,或者使用“创建”操作首选项附加值。假设我想将目录添加C:\scripts到%PATH%. 我会这样做:


这会附加C:\scripts到当前的%PATH%. 路径环境变量以分号分隔。使用 GPO 的计算机配置部分可在 HKLM(系统范围)注册表配置单元中进行更改,而不是在 HKCU(当前用户)注册表配置单元中进行更改。

您可以将其放入现有的 GPO 中,或者使用单独的 GPO 来定位特定的工作站/用户。例如,下面的代码仅将脚本目录添加到计算机 ISC-JSCOTT 上的路径中。

通常的资格适用。更改系统环境变量只会在启动时生效,因此将其应用于所有内容的最简单方法是重新启动。
| 归档时间: |
|
| 查看次数: |
11224 次 |
| 最近记录: |