String 格式化powershell表,删除条目
我是powershell的新手,遇到了一个看似简单的问题,就是找不到解决方案。我正在编写一个脚本,从当前计算机上提取序列号,然后它查询数据库,并根据数据库对特定序列号的要求在计算机上执行功能。现在问题来了,当我使用下面的代码时String 格式化powershell表,删除条目,string,powershell,format,String,Powershell,Format,我是powershell的新手,遇到了一个看似简单的问题,就是找不到解决方案。我正在编写一个脚本,从当前计算机上提取序列号,然后它查询数据库,并根据数据库对特定序列号的要求在计算机上执行功能。现在问题来了,当我使用下面的代码时 $currSerial = Get-WMIObject -Class "Win32_BIOS" | select SerialNumber 我在一个表中接收输出,所以当我输出$currSerial时,我得到: SerialNumber
$currSerial = Get-WMIObject -Class "Win32_BIOS" | select SerialNumber
我在一个表中接收输出,所以当我输出$currSerial时,我得到:
SerialNumber
------------
AGR0Agh99481028
我只想将文本AGR0Agh99481028保存为一个字符串,这样我就可以使用该号码查询服务器。现在,我的查询如下所示:
$Query = "SELECT name FROM table WHERE serial = '$currSerial'"
输出解析为:
SELECT name FROM table WHERE serial = '@{SerialNumber=D1N0AS249667028 }'
我读到了关于get item cmd的文章,似乎我已经知道搜索它的序列号了。是否有一些cmdlet可用于简化此操作?谢谢您的帮助。您只需要一个标志: $currSerial=Get WMIObject-Class Win32_BIOS | select-ExpandProperty SerialNumber -ExpandProperty将把它转换为普通的旧字符串。select的输出是一个仅具有指定属性的对象。要获取序列号字符串,请进行更改 进入 甚至更短
$currSerial = (Get-WMIObject -Class "Win32_BIOS").SerialNumber
有点过时了,但这似乎是我第二次不恰当地使用ExpandProperty。它究竟用来做什么?我不认为选择扩展序列号不合适。这只是获得相同结果的另一种方式。@r.tanner.f您使用-ExpandProperty是合适的。做事的方法不止一种。
(Get-WMIObject -Class "Win32_BIOS" | select SerialNumber).SerialNumber
$currSerial = (Get-WMIObject -Class "Win32_BIOS").SerialNumber