【发布时间】:2021-02-13 04:57:38
【问题描述】:
对此有几个问题,有答案,但不幸的是,我无法让它们适应我的情况。我对 powershell 比较陌生,所以这可能就是原因。
为医院进行部署,每台计算机都有一个特定的部门。每台计算机都以最多 12 个字符的方案命名。例如:WPET04MRIT45 是旧设备。因此,我们将其更换为需要重命名为 WPET04MRIT65 的新机器。
现在我设置了一个可以很好地完成它的脚本。但是我可以让它为我打印出前 10 个字符,那么我所要做的就是输入新号码并继续前进吗?
现在,这是我的脚本:
$newname = Read-Host -Prompt 'Computers new name'
$user = Read-Host -Prompt 'Input the username'
Rename-Computer -ComputerName localhost -NewName $newname -DomainCredential $user; Restart-Computer'
所以当我运行它时,它会输出“计算机新名称”我输入完整的新名称
然后它会询问我的用户名我输入了我的用户名
然后我按回车键,它会提示我输入密码并重新启动。
这很好,它有效。这种方式比旧方式更快。但话虽如此:
我可以让它从“localhost”中提取计算机名称的前 10 位数字,并在出现时将其输出到“计算机新名称”字段中,这样我只需输入最后 2 个字符?
例如,输出将是:
计算机新名称:localhost 的前 10 个字符 我会填写最后 2 个字符
用户名:我输入了我的用户名
然后它会提示输入密码并重新启动。
【问题讨论】:
-
你可以试试
$NewName = $(-join $env:computername[0..9]) + (read-host "Enter the last two characters of the new name: )。 -
请注意,无论是否指定提示符,读取主机都会提供自己的分号。
标签: powershell rename