将 HomePath 设置为 EmployeeNumber 作为变量

将 HomePath 设置为 EmployeeNumber 作为变量

我们计划使用 AD 中的 EmployeeNumber 用户属性来创建每个用户主驱动器的路径。原因是 AD 用户名目前基于姓氏,而姓氏在我们的大型域中经常更改。我们希望摆脱管理姓名更改的麻烦。将来我们可能会将员工编号转换为用户名,但目前还没有实现。

目前,我正在使用 Powershell 中的 foreach 循环来完成 AD 中每个用户的路径设置,但我想研究一下是否可以使用组策略首选项,以便在映射驱动器上设置一个友好的标签。然而,我却无法将 EmployeeNumber 放入路径中。

如何将 EmployeeNumber 属性作为变量放入用户 HomePath 中?

答案1

如果您问如何在 powershell 中设置变量名并在系统的其他位置获取它,您可以将其导出为系统环境变量。

为此,您需要使用名为的 .net 方法Environment.SetEnvironmentVariable这里是文档。

这是在 powershell 中针对不同范围使用它的方法currentprocesscurrentuser或者machine

[environment]::SetEnvironmentVariable("variable_name","value","process")
[environment]::SetEnvironmentVariable("variable_name","value","machine")
[environment]::SetEnvironmentVariable("variable_name","value","user")

如果要删除变量,请使用$null代替值。

要在 powershell 中读取它,您可以使用GetEnvironmentVariable,例如:

[environment]::GetEnvironmentVariable("variable_name","machine")

或者你可以$env:variable_name

或者,您也可以从常规命令行执行此操作,%variable_name%等等。

在没有测试的情况下,我猜你也可以在 GPO 中使用它,只要你在需要解释它的机器上预定义了变量,也许是通过链中先前处理的 GPO 触发脚本?

相关内容