我试图解析软件,版本号,并在日期安装从这样的数据:
AXIS Media Control Embedded AXIS Media Control 5.60 Redist [installed on 2014/05/28] Cisco WebEx Meetings Adobe Flash Player 13 ActiveX [version 13.0.0.214] Adobe Flash Player 13 Plugin [version 13.0.0.214] Bullzip PDF Printer 9.3.0.1516 [version 9.3.0.1516] [installed on 2014/05/12] Security Management System (Client) [version 7.0.1.0] [installed on 2014/05/28] Symmetry7500 Plugin [version 1.3] [installed on 2014/05/28] Cross Match Transmission Manager [version 3.8.9.0012] [installed on 2014/05/08] Cross Match Live Scan Management System [version 8.4.5.0031] [installed on 2014/05/08] System Center Endpoint Protection [version …
我试图查询AD以获取用户的电话号码,然后将其格式化为标准格式(### - ####).我正在使用Switch语句,因为我已经看到了少数不同格式的数字.我设置代码的方式虽然我收到错误:"术语Switch不被识别为cmdlet,函数,脚本文件的名称......"
这是代码:
$ADInfo = Get-ADUser $User.Email.split("@")[0] -Properties * -Server $DC
$User.'Phone Number' = $ADInfo.telephoneNumber | Switch -regex ($_) {
'^\d{5}$'
{
"{0:38#-####}" -f $_
break
}
'^\d{7}$'
{
"{0:###-####}" -f $_
break
}
default
{
break
}
}
Run Code Online (Sandbox Code Playgroud)
我误解了管道是如何工作的吗?我想我可以将此信息保存到临时变量然后输入一个Switch语句,但这似乎是一种使用管道的有效方法.
无论如何,任何帮助表示赞赏!谢谢!