繁体   English   中英

Powershell 查询活动目录并自动生成未使用的计算机名

[英]Powershell Query Active Directory and automatically generate an unused computer name

我正在尝试创建一个 powershell 脚本,该脚本将查询活动目录并在名称不存在时自动命名计算机。 在我当前的环境中,我们在成像后使用通用名称(如“ABClaptop1”)重命名笔记本电脑,直到将它们分配给特定用户并获得不同的命名约定。 理想情况下,该脚本将查询活动目录并查看“ABClaptop1 - ABClaptop99”之类的名称是否可用并随机分配其中一个。 使用通用命名约定,我们通常一次拥有 20 台或更少的笔记本电脑。 下面是我目前使用的脚本,需要大量手动输入并在 AD 中搜索可用的内容。

$name = Read-Host 'Enter New Computer Name' Rename-Computer -NewName $name Add-Computer -ComputerName $name -DomainName domain -Credential domain\username -Restart -Force

在此先感谢您的任何建议。

从 Active Directory 中获取当前计算机名称,然后从 1-99 中随机获取 select 一个未使用的计算机名称:

$Prefix = "ABClaptop"
$Search = ("{0}*" -f $Prefix)
$ExistingComputers = Get-ADComputer -Filter { Name -like $Search }
$Name = 1..99 | Where-Object {
    "$Prefix$_" -notin $ExistingComputers.Name
} | Get-Random | ForEach-Object {
    "$Prefix$_"
}

如果没有可用的名称,则$Name将为 null,因此请务必在继续之前检查$Name不是 null。

继续您现有的脚本:

Rename-Computer -NewName $Name
Add-Computer -ComputerName $Name -DomainName domain -Credential domain\username -Restart -Force

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM