Powershell 如何将计算机添加到域并使用提示和连接重命名它

Powershell 如何将计算机添加到域并使用提示和连接重命名它,powershell,Powershell,我正在构建一个脚本,以加快许多成像机器的重命名和加入过程。目标是让它提示两次,一次是获取资产标签($NewestName),另一次是域凭据($c)。脚本的目标是将设备前缀(显示为“ORG-LOC-”)连接到$NewestName,然后将域名连接到凭据,因此我需要在提示符中输入的只是域名用户名和密码,而不是过长的域名 这些是使用1809构建映像的Win10Pro工作站,加入了运行于2008R2的域 $Assetname = Read-Host -Prompt 'Input the new asse

我正在构建一个脚本,以加快许多成像机器的重命名和加入过程。目标是让它提示两次,一次是获取资产标签(
$NewestName
),另一次是域凭据(
$c
)。脚本的目标是将设备前缀(显示为“ORG-LOC-”)连接到
$NewestName
,然后将域名连接到凭据,因此我需要在提示符中输入的只是域名用户名和密码,而不是过长的域名

这些是使用1809构建映像的Win10Pro工作站,加入了运行于2008R2的域

$Assetname = Read-Host -Prompt 'Input the new asset name (W or L, followed by the 4 numbers in the asset tag)'
$c = Get-Credential
Add-Computer -ComputerName $Env:Computername -DomainName absurdly.long.domain.name.but.nothing.can.change.us -NewName "ORG-LOC-"+$Newestname -Credential "absurdly.long.domain.name.but.nothing.can.change.us\"+$c -Restart
我希望它通过修改的凭据将PC加入域,然后重命名PC


我得到的是对脚本的一些不同变体的拒绝,这些脚本未能调整设备的名称和/或未能连接凭据或新设备名称。

我不确定这是否是文章中的输入错误,但
Env:Computer
需要
$Env:Computer
。另外,
-Credential$c
对于该参数应该足够了,因为如果您提供了域,
$c
将已经包含该域。因此,没有必要在
-Credential
@adminofthings中添加任何域名。是的,如果可以避免的话,我正试图避免键入所有额外的域名。懒惰,但节省时间。它很长。如果我尝试这样做,我应该在脚本之外执行concat并将其分配给其他变量吗?您是对的,我在这个版本之后尝试了$Env:computername,所以这是一个输入错误,在上面做了更改。您可以通过执行
Get-Credential-username“domain\”-消息“Append username To domain Name”
,对用户名进行预编码。仍然给我留下了附加的$NewestName,但我也可以在外部执行此操作:
$Assetname=Read Host-Prompt'输入新资产名称(W或L,后跟资产标签中的4个数字)“$NewestName=”ORG-LOC-“+$Assetname$c=Get-Credential-UserName”荒谬地。long.domain.name。但是。nothing.can.change.us\”-消息“将用户名附加到域名”添加Computer-ComputerName Env:ComputerName-DomainName荒诞地。long.domain.name.but.nothing.can.change.us-NewName$Newestname-Credential$c-Restart
,今天我确定我根本无法在评论中正确地进行标记…我不确定这是否是帖子中的打字错误,但
Env:Computer
需要修改
$env:Computer
。另外,
-Credential$c
对于该参数应该足够了,因为如果您提供了域,
$c
将已经包含该域。因此,没有必要在
-Credential
@adminofthings中添加任何域名。是的,如果可以避免的话,我正试图避免键入所有额外的域名。懒惰,但节省时间。它很长。如果我尝试这样做,我应该在脚本之外执行concat并将其分配给其他变量吗?您是对的,我在这个版本之后尝试了$Env:computername,所以这是一个输入错误,在上面做了更改。您可以通过执行
Get-Credential-username“domain\”-消息“Append username To domain Name”
,对用户名进行预编码。仍然给我留下了附加的$NewestName,但我也可以在外部执行此操作:
$Assetname=Read Host-Prompt'输入新资产名称(W或L,后跟资产标签中的4个数字)“$NewestName=”ORG-LOC-“+$Assetname$c=Get-Credential-UserName”荒谬地。long.domain.name。但是。nothing.can.change.us\”-消息“将用户名附加到域名”添加Computer-ComputerName-Env:ComputerName-DomainName荒诞地添加.long.domain.name.but.nothing.can.change.us-NewName$Newestname-Credential$c-Restart
,今天我确定我无法在注释中正确地进行标记。。。