当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 在 PowerShell 中获取 AD 用户主目录和主驱动器 [4 种方法]

作者:精品下载站 日期:2024-12-14 05:31:25 浏览:13 分类:玩电脑

在 PowerShell 中获取 AD 用户主目录和主驱动器 [4 种方法]


[玩转系统] 在 PowerShell 中获取 AD 用户主目录和主驱动器 [4 种方法]

使用 Get-ADUser Cmdlet

我们根据不同的用例以不同的方式使用Get-ADUser;下面我们来探讨其中的一些。

获取一位用户的主目录和驱动器

使用 Get-ADUser cmdlet 获取广告用户的主目录和主驱动器。

使用 Get-ADUser Cmdlet:

$username = 'Administrator'
Get-ADUser -Identity $username -Properties * |
Select HomeDirectory, HomeDrive

输出 :

HomeDirectory                                  HomeDrive
-------------                                  ---------
\mas-dc-01\Users\Administrator\Documents       D:

首先,我们使用 Administrator 初始化了 $username 变量;这是我们想要获取其主目录和主驱动器的用户名。不要忘记将其替换为您的用户名。

然后,我们使用带有 -Identity-Properties 参数的 Get-AdUser cmdlet 来检索指定用户名的所有属性。由于我们打算获取所有属性以进行进一步处理,因此我们使用了 * 通配符,这意味着所有属性。

我们将它们通过管道传输到 Select cmdlet(Select-Object 的别名),以选择 HomeDirectoryHomeDrive相应的值。在我们的例子中,我们将 HomeDirectory 设置为网络共享路径;这里 mas-dc-01 是我们的计算机名称,Users\Administrator\DocumentsC: 驱动器中的目录。

我们可以通过映射驱动器来获取网络共享路径;请参阅这篇文章。

获取所有用户的主目录和驱动器

使用 Get-ADUser cmdlet 获取活动目录中所有用户的主目录和主驱动器。

使用 Get-ADUser Cmdlet:

Get-ADUser -Filter * -Properties * |
Select HomeDirectory, HomeDrive

输出 :

HomeDirectory                                  HomeDrive
-------------                                  ---------
\mas-dc-01\Users\Administrator\Documents       D:

此代码围栏与前面的示例类似,但我们将 -Filter 参数设置为 * 以获取所有用户所需的属性。我们得到了相同的输出,因为我们只有一个用户的主目录和主驱动器已设置。

使用 CN 属性获取主目录和驱动器

使用 Get-ADUser cmdlet 获取使用公用名称的 SAMAccountNameHomeDirectoryHomeDrive 属性活动目录中的 (`CN) 属性。

将 CN 属性与 Get-ADUser Cmdlet 结合使用:

Get-ADUser -Filter * -SearchBase "CN=Administrator,CN=Users,DC=maslab,DC=com" -Properties * |
Select SAMAccountName, HomeDirectory, HomeDrive

输出 :

SamAccountName      HomeDirectory                                  HomeDrive
--------------      -------------                                  ---------
Administrator       \mas-dc-01\Users\Administrator\Documents       D:

上面的代码片段与之前的代码片段类似,但有两个新内容:-SearchBase 参数和 SAMAccountName 属性。 SamAccountName 表示登录名,而 -SearchBase 参数用于指定搜索库的专有名称 (DN)。用户搜索。

请记住,DN 始终是活动目录中对象的唯一标识符,它指示该对象在目录层次结构中的位置。在上面的示例中,我们将 -SearchBase 参数设置为 “CN=Administrator,CN=Users,DC=maslab,DC=com”

这意味着对用户对象的搜索将仅限于 DN“CN=Administrator,CN=Users,DC=maslab,DC=com” 的容器。在指定的 DN 中,CN=Administrator 组件指定了容器的名称,而 CN=Users,DC=maslab,DC=com 表示容器父对象的域组件 (DC)。

使用 -SearchBase 参数,我们限制了搜索范围并提高了 Get-ADUser cmdlet 的性能。当我们需要在具有多个容器和对象的大型活动目录域中搜索用户对象时,此参数特别有用。

我们可以使用 OU 属性执行相同的操作吗?是的,我们通过创建一个全新的组织单位并向其中添加三个用户来实现。

使用 OU 属性获取主目录和驱动器

要获取活动目录中所有用户的主目录和主驱动器:

  • 使用 New-ADOrganizationalUnit cmdlet 创建新的组织部门。
  • 使用 New-AdUser cmdlet 三次在新创建的 OU 中创建三个不同的用户。
  • 使用 Get-ADUser cmdlet 获取特定 OU 中所需的属性。

将 OU 属性与 Get-ADUser Cmdlet 结合使用:

New-ADOrganizationalUnit -Name "Test" -Path "DC=maslab,DC=com"

New-ADUser -Name "Sam Bracewell" -AccountPassword (ConvertTo-SecureString "P@ssw0rd123" -AsPlainText -Force) -Path "OU=Test,DC=maslab,DC=com"

New-ADUser -Name "johnwells" -AccountPassword (ConvertTo-SecureString "P@ssw0rd456" -AsPlainText -Force) -Path "OU=Test,DC=maslab,DC=com"

New-ADUser -Name "mary.pearson" -AccountPassword (ConvertTo-SecureString "P@ssw0rd789" -AsPlainText -Force) -Path "OU=Test,DC=maslab,DC=com"

Get-ADUser -Filter * -SearchBase "OU=Test,DC=maslab,DC=com" -Properties * |
Select SAMAccountName, HomeDirectory, HomeDrive

输出 :

SamAccountName      HomeDirectory                                  HomeDrive
--------------      -------------                                  ---------
mary.pearson        \mas-dc-01\Mary                                D:
johnwells       \mas-dc-01\John                                D:
Sam Bracewell           \mas-dc-01\SamBracewell                            E:

我们使用带有 -Name-Path 参数的 New-ADOrganizationalUnit cmdlet 来创建 Active Directory 组织单位。然后,我们使用 New-ADUser 在新创建的组织单位 (OU) 中创建 Active Directory 用户。如何?

我们使用 -Name-AccountPassword 参数指定新用户帐户的名称和密码,而 -Path 参数指定将在其中创建新用户帐户的OU。 ConvertTo-SecureString 用于将纯文本转换为安全字符串;我们在设置新用户帐户的密码时使用了此 cmdlet。

最后,我们使用 Get-ADUser cmdlet 从以下位置检索所有用户的 SamAccountNameHomeDirectoryHomeDrive 测试组织单位。正在寻找 -SearchBase 参数说明?我们在上一节中详细介绍了它。

我们还可以使用 Out-File cmdlet,如下所示将输出导出到指定的 CSV 文件;请参见以下示例。

使用 Get-ADUser Cmdlet:

Get-ADUser -Filter * -SearchBase "OU=Test,DC=maslab,DC=com" -Properties * |
Select SAMAccountName, HomeDirectory, HomeDrive | 
Out-File C:\Output.csv

输出:Output.csv 文件的内容:

SamAccountName      HomeDirectory                                  HomeDrive
--------------      -------------                                  ---------
mary.pearson        \mas-dc-01\Mary                                D:
johnwells       \mas-dc-01\John                                D:
Sam Bracewell           \mas-dc-01\SamBracewell                            E:

这就是在 PowerShell 中获取 AD 用户主目录和主驱动器的全部内容。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯