我有一个非常具体的问题,一直在努力解决。我在镜像过程中使用 PowerShell 脚本来命名新镜像的计算机,并且我需要从序列中获取新生成的编号。我为此使用 SCCM 2012 R2,顺便说一句
例如,我有一个脚本,使用 wmi 查询按照我们的约定命名我们的计算机:
if ($ComputerVersion -eq "ThinkPad T400")
{
$OSDComputerName = "T400xxxx-11"
$TSEnv = New-Object -COMObject Microsoft.SMS.TSEnvironment
$TSEnv.Value("OSDComputerName") = "$OSDComputerName"
}
我使用 WMI 查询设置 $ComputerVersion 变量,如下所示:
$ComputerVersion = (Get-WmiObject -Class Win32_ComputerSystemProduct | Select-Object Version).Version
所以,我的问题的关键是我想设置另一个变量,可能很简单 就像 $num 一样,表示下一个可用于标记我们的计算机的数字。该数字将取代“xxxx”。我将通过以下方式做到这一点:
if ($ComputerVersion -eq "ThinkPad T400")
{
$OSDComputerName = "T400" + $num + "-11"
$TSEnv = New-Object -COMObject Microsoft.SMS.TSEnvironment
$TSEnv.Value("OSDComputerName") = "$OSDComputerName"
}
这个数字是由我们拥有的 Linux 服务器生成的,它已经运行了一些 python 脚本来给出序列中的下一个可用数字。如果需要,我可以发布该 python 脚本,但它有 133 行。
我需要知道的是如何通过 PowerShell 调用该 Web 请求,并将返回的数字(下一个可用的数字)设置为新变量。
我以前从未使用过网络服务或网络请求,任何帮助将不胜感激。提前致谢!
最佳答案
取决于网络请求返回的内容以及您是否需要处理任何返回数据,但如果它只是返回数字,您可以这样做:
$webClient = New-Object System.Net.WebClient
$num = $webClient.downloadstring("http://yourwebservice.com/buildnumber")
关于python - 使用 Powershell 通过 Web 请求从序列中检索数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23393687/