我在其他语言中看到过这一点,但我还没能在PowerShell中实现。
我正在尝试读取设备的HardwareID以导入Azure。HardwareID变量是4096个字符,我在这个程序中每个变量最多只能存储1024个字符。。。。
有没有一种干净的方法可以将一个随机字符4096字符串分成1024个字符的部分?
我尝试过使用regex、split string命令和-splid选项,但我不知道足够的regex来获得有效的查询。。。
$devDetail = Get-CimInstance -NAmespace root/cimv2/mdm/dmmap -ClassName MDM_DevDetail_Ext01 -Filter "InstanceID='Ext' AND ParentID='./DevDetail'"
$devDetail.DeviceHardwareData -split "^.{1,1024}$"
这似乎不像我希望的那样奏效。。。对我来说,有什么很棒的提示可以让它发挥作用吗?
注:
- $devDetail.DeviceHardwareData是一个随机字符字符串,我无法将其拆分到特定的模式或字符上,我认为split命令旨在用于
尝试这种方式,不绑定到字符串的开头^
或结尾$
;括号保留分隔符。基于如何在没有分隔符的powershell中将字符串拆分为2个字符一组?
$devDetail.DeviceHardwareData -split '(.{1024})' -ne ''
小示例:
'123456789012' -split '(.{3})' -ne ''
123
456
789
012