Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 格式化powershell表,删除条目_String_Powershell_Format - Fatal编程技术网

String 格式化powershell表,删除条目

String 格式化powershell表,删除条目,string,powershell,format,String,Powershell,Format,我是powershell的新手,遇到了一个看似简单的问题,就是找不到解决方案。我正在编写一个脚本,从当前计算机上提取序列号,然后它查询数据库,并根据数据库对特定序列号的要求在计算机上执行功能。现在问题来了,当我使用下面的代码时 $currSerial = Get-WMIObject -Class "Win32_BIOS" | select SerialNumber 我在一个表中接收输出,所以当我输出$currSerial时,我得到: SerialNumber

我是powershell的新手,遇到了一个看似简单的问题,就是找不到解决方案。我正在编写一个脚本,从当前计算机上提取序列号,然后它查询数据库,并根据数据库对特定序列号的要求在计算机上执行功能。现在问题来了,当我使用下面的代码时

$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