ConvertFrom-String using a template not parsing as expected
My setup is quite the same (i5/16Gb/Win8.1 64bit/PS 5.0.10514.6).
This is a bit crazy ; only the last line is a problem.
1 - If you isolate it completely and make it the only line in the template and in the sample, it works.
Code :
$Sample = @" ALL ITEMS PASSWORD LEVEL"@$TemplateThatFails = @" {Zebraconfig*:{PasswordLevel:ALL ITEMS}} PASSWORD LEVEL "@Write-Host "Using ConvertFrom-String with the TemplateThatFails"$startTime = Get-Date$Sample | ConvertFrom-String -TemplateContent $TemplateThatFails | select -ExpandProperty ZebraConfig$endTime = Get-Date$elapsed = "{0:N2}" -f (New-TimeSpan $startTime $endTime).TotalSeconds"$elapsed seconds elapsed"
Output :
PasswordLevel-------------ALL ITEMS 0,13 seconds elapsed
2 - If you move it just above the previous one (in the sample and in the template), you don't get any error but the data is mixed up.
Code :
$Sample = @" JJK072821.12Z1220126.23630-01.S.JABI +20.0 DARKNESS 6 IPS PRINT SPEED +000 TEAR OFF APPLICATOR PRINT MODE NON-CONTINUOUS MEDIA TYPE WEB SENSOR TYPE DIRECT-THERMAL PRINT METHOD 812 PRINT WIDTH 1874 LABEL LENGTH 9.0IN 228MM MAXIMUM LENGTH DISABLED SUPPLIES WARNING MAINT. OFF EARLY WARNING CONNECTED USB COMM. READY EXTERNAL 5V BIDIRECTIONAL PARALLEL COMM. RS232 SERIAL COMM. 9600 BAUD 8 BITS DATA BITS NONE PARITY XON/XOFF HOST HANDSHAKE NONE PROTOCOL 000 NETWORK ID NORMAL MODE COMMUNICATIONS <~> 7EH CONTROL PREFIX <^> 5EH FORMAT PREFIX <,> 2CH DELIMITER CHAR ZPL II ZPL MODE ACTIVE COMMAND OVERRIDE NO MOTION MEDIA POWER UP NO MOTION HEAD CLOSE OFF BACKFEED +080 LABEL TOP +0000 LEFT POSITION OFF VERIFIER PORT MODE 1 APPLICATOR PORT ENABLED ERROR ON PAUSE PULSE MODE START PRINT SIG FEED MODE RESYNCH MODE DISABLED REPRINT MODE 048 WEB S. 079 MEDIA S. 065 RIBBON S. 100 TAKE LABEL 050 MARK S. 000 MARK MED S. 002 TRANS GAIN 040 TRANS BASE 086 TRANS BRIGHT 082 RIBBON GAIN 000 MARK GAIN DPCSWFX. MODES ENABLED .......M MODES DISABLED 832 8/MM FULL RESOLUTION V53.17.21Z <- FIRMWARE 1.3 XML SCHEMA V45 ---------- 19 HARDWARE ID CUSTOMIZED CONFIGURATION 10840k...........R: RAM 2048k............E: ONBOARD FLASH NONE FORMAT CONVERT *** APPLICATOR P34 INTERFACE TWINAX/COAX ID FW VERSION IDLE DISPLAY 11/05/15 RTC DATE 11:22 RTC TIME DISABLED ZBI 2.1 ZBI VERSION 2,641,289 IN NONRESET CNTR 2,641,289 IN RESET CNTR1 2,641,289 IN RESET CNTR2 6,708,875 CM NONRESET CNTR 6,708,875 CM RESET CNTR1 ALL ITEMS PASSWORD LEVEL 6,708,875 CM RESET CNTR2 "@$TemplateThatFails = @" {Zebraconfig*:{Serial:JJK072821.12Z1220126.23630-01.S.JABI} {Darkness:+20.0} DARKNESS {PrintSpeed:6 IPS} PRINT SPEED {TearOff:+000} TEAR OFF {Applicator:APPLICATOR} PRINT MODE {MediaType:NON-CONTINUOUS} MEDIA TYPE {SensorType:WEB} SENSOR TYPE {PrintMethod:DIRECT-THERMAL} PRINT METHOD {PrintWidth:812} PRINT WIDTH {LabelLength:1874} LABEL LENGTH {MaximumLength:9.0IN 228MM} MAXIMUM LENGTH {SuppliesWarning:DISABLED} SUPPLIES WARNING {EarlyWarning:MAINT. OFF} EARLY WARNING {USBComm:CONNECTED} USB COMM. {External5v:READY} EXTERNAL 5V {ParallelComm:BIDIRECTIONAL} PARALLEL COMM. {SerialComm:RS232} SERIAL COMM. {Baud:9600} BAUD {DataBits:8 BITS} DATA BITS {Parity:NONE} PARITY {HostHandshake:XON/XOFF} HOST HANDSHAKE {Protocol:NONE} PROTOCOL {NetworkID:000} NETWORK ID {Communications:NORMAL MODE} COMMUNICATIONS {ControlPrefix:<~> 7EH} CONTROL PREFIX {FormatPrefix:<^> 5EH} FORMAT PREFIX {Delimiter:<,> 2CH} DELIMITER CHAR {ZPLMode:ZPL II} ZPL MODE {CommandOverride:ACTIVE} COMMAND OVERRIDE {MediaPowerUp:NO MOTION} MEDIA POWER UP {HeadClose:NO MOTION} HEAD CLOSE {Backfeed:OFF} BACKFEED {LabelTop:+080} LABEL TOP {LeftPosition:+0000} LEFT POSITION {VerifierPort:OFF} VERIFIER PORT {ApplicatorPort:MODE 1} APPLICATOR PORT {ErrorOnPause:ENABLED} ERROR ON PAUSE {StartPrintSig:PULSE MODE} START PRINT SIG {ResynchMode:FEED MODE} RESYNCH MODE {ReprintMode:DISABLED} REPRINT MODE {WebSensor:048} WEB S. {MediaSensor:079} MEDIA S. {RibbonSensor:065} RIBBON S. {TakeLabel:100} TAKE LABEL {MarkSensor:050} MARK S. {MarkMedSensor:000} MARK MED S. {TrainsGain:002} TRANS GAIN {TransBase:040} TRANS BASE {TransBright:086} TRANS BRIGHT {RibbonGain:082} RIBBON GAIN {MarkGain:000} MARK GAIN {ModesEnable:DPCSWFX.} MODES ENABLED {ModesDisabled:.......M} MODES DISABLED {Resolution:832 8/MM FULL} RESOLUTION {Firmware:V53.17.21Z <-} FIRMWARE {XMLSchema:1.3} XML SCHEMA {HardwareID:V45 ---------- 19} HARDWARE ID {Configuration:CUSTOMIZED} CONFIGURATION {RAM:10840k...........R:} RAM {OnboardFlash:2048k............E:} ONBOARD FLASH {FormatConvert:NONE} FORMAT CONVERT {P34Interface:*** APPLICATOR} P34 INTERFACE TWINAX/COAX ID {IdleDisplay:FW VERSION} IDLE DISPLAY {RTCDate:11/05/15} RTC DATE {RTCTime:11:22} RTC TIME {ZBI:DISABLED} ZBI {ZBIVersion:2.1} ZBI VERSION {NonResetCNTRin:2,641,289 IN} NONRESET CNTR {ResetCNTR1in:2,641,289 IN} RESET CNTR1 {ResetCNTR2in:2,641,289 IN} RESET CNTR2 {NonResetCNTRcm:6,708,875 CM} NONRESET CNTR {ResetCNTR1cm:6,708,875 CM} RESET CNTR1 {PasswordLevel:ALL ITEMS} PASSWORD LEVEL {ResetCNTR2cm:6,708,875 CM}} RESET CNTR2 "@Write-Host "Using ConvertFrom-String with the TemplateThatFails"$startTime = Get-Date$Sample | ConvertFrom-String -TemplateContent $TemplateThatFails | select -ExpandProperty ZebraConfig$endTime = Get-Date$elapsed = "{0:N2}" -f (New-TimeSpan $startTime $endTime).TotalSeconds"$elapsed seconds elapsed"
Output :
Serial : JJK072821.12Z1220126.23630-01.S.JABIDarkness : +20.0PrintSpeed : 6 IPSTearOff : +000Applicator : APPLICATORMediaType : NON-CONTINUOUSSensorType : WEBPrintMethod : DIRECT-THERMALPrintWidth : 812LabelLength : 1874MaximumLength : 9.0IN 228MMSuppliesWarning : DISABLEDEarlyWarning : MAINT. OFFUSBComm : CONNECTEDExternal5v : READYParallelComm : BIDIRECTIONALSerialComm : RS232Baud : 9600DataBits : 8 BITSParity : NONEHostHandshake : XON/XOFFProtocol : NONENetworkID : 000Communications : NORMAL MODEControlPrefix : <~> 7EHFormatPrefix : <^> 5EHDelimiter : <,> 2CHZPLMode : ZPL IICommandOverride : ACTIVEMediaPowerUp : NO MOTIONHeadClose : NO MOTIONBackfeed : OFFLabelTop : +080LeftPosition : +0000VerifierPort : OFFApplicatorPort : MODE 1ErrorOnPause : ENABLEDStartPrintSig : PULSE MODEResynchMode : FEED MODEReprintMode : DISABLEDWebSensor : 048MediaSensor : 079RibbonSensor : 065TakeLabel : 100MarkSensor : 050MarkMedSensor : 000TrainsGain : 002TransBase : 040TransBright : 086RibbonGain : 082MarkGain : 000ModesEnable : DPCSWFX.ModesDisabled : .......MResolution : 832 8/MM FULLFirmware : V53.17.21Z <-XMLSchema : 1.3HardwareID : V45 ---------- 19Configuration : CUSTOMIZEDRAM : 10840k...........R:OnboardFlash : 2048k............E:FormatConvert : NONEP34Interface : *** APPLICATORIdleDisplay : FW VERSIONRTCDate : 11/05/15RTCTime : 11:22ZBI : DISABLEDZBIVersion : 2.1NonResetCNTRin : 2,641,289 INResetCNTR1in : 2,641,289 INResetCNTR2in : 2,641,289 INNonResetCNTRcm : 6,708,875 CMResetCNTR1cm : 6,708,875 CMPasswordLevel : CM RESETResetCNTR2cm : 6,708,875 CM36,58 seconds elapsed
3 - If you move it above ZBI VERSION
(sample + template), which is the last line in the partially working template, everything is fine.
Code :
$Sample = @" JJK072821.12Z1220126.23630-01.S.JABI +20.0 DARKNESS 6 IPS PRINT SPEED +000 TEAR OFF APPLICATOR PRINT MODE NON-CONTINUOUS MEDIA TYPE WEB SENSOR TYPE DIRECT-THERMAL PRINT METHOD 812 PRINT WIDTH 1874 LABEL LENGTH 9.0IN 228MM MAXIMUM LENGTH DISABLED SUPPLIES WARNING MAINT. OFF EARLY WARNING CONNECTED USB COMM. READY EXTERNAL 5V BIDIRECTIONAL PARALLEL COMM. RS232 SERIAL COMM. 9600 BAUD 8 BITS DATA BITS NONE PARITY XON/XOFF HOST HANDSHAKE NONE PROTOCOL 000 NETWORK ID NORMAL MODE COMMUNICATIONS <~> 7EH CONTROL PREFIX <^> 5EH FORMAT PREFIX <,> 2CH DELIMITER CHAR ZPL II ZPL MODE ACTIVE COMMAND OVERRIDE NO MOTION MEDIA POWER UP NO MOTION HEAD CLOSE OFF BACKFEED +080 LABEL TOP +0000 LEFT POSITION OFF VERIFIER PORT MODE 1 APPLICATOR PORT ENABLED ERROR ON PAUSE PULSE MODE START PRINT SIG FEED MODE RESYNCH MODE DISABLED REPRINT MODE 048 WEB S. 079 MEDIA S. 065 RIBBON S. 100 TAKE LABEL 050 MARK S. 000 MARK MED S. 002 TRANS GAIN 040 TRANS BASE 086 TRANS BRIGHT 082 RIBBON GAIN 000 MARK GAIN DPCSWFX. MODES ENABLED .......M MODES DISABLED 832 8/MM FULL RESOLUTION V53.17.21Z <- FIRMWARE 1.3 XML SCHEMA V45 ---------- 19 HARDWARE ID CUSTOMIZED CONFIGURATION 10840k...........R: RAM 2048k............E: ONBOARD FLASH NONE FORMAT CONVERT *** APPLICATOR P34 INTERFACE TWINAX/COAX ID FW VERSION IDLE DISPLAY 11/05/15 RTC DATE 11:22 RTC TIME DISABLED ZBI ALL ITEMS PASSWORD LEVEL 2.1 ZBI VERSION 2,641,289 IN NONRESET CNTR 2,641,289 IN RESET CNTR1 2,641,289 IN RESET CNTR2 6,708,875 CM NONRESET CNTR 6,708,875 CM RESET CNTR1 6,708,875 CM RESET CNTR2 "@$TemplateThatFails = @" {Zebraconfig*:{Serial:JJK072821.12Z1220126.23630-01.S.JABI} {Darkness:+20.0} DARKNESS {PrintSpeed:6 IPS} PRINT SPEED {TearOff:+000} TEAR OFF {Applicator:APPLICATOR} PRINT MODE {MediaType:NON-CONTINUOUS} MEDIA TYPE {SensorType:WEB} SENSOR TYPE {PrintMethod:DIRECT-THERMAL} PRINT METHOD {PrintWidth:812} PRINT WIDTH {LabelLength:1874} LABEL LENGTH {MaximumLength:9.0IN 228MM} MAXIMUM LENGTH {SuppliesWarning:DISABLED} SUPPLIES WARNING {EarlyWarning:MAINT. OFF} EARLY WARNING {USBComm:CONNECTED} USB COMM. {External5v:READY} EXTERNAL 5V {ParallelComm:BIDIRECTIONAL} PARALLEL COMM. {SerialComm:RS232} SERIAL COMM. {Baud:9600} BAUD {DataBits:8 BITS} DATA BITS {Parity:NONE} PARITY {HostHandshake:XON/XOFF} HOST HANDSHAKE {Protocol:NONE} PROTOCOL {NetworkID:000} NETWORK ID {Communications:NORMAL MODE} COMMUNICATIONS {ControlPrefix:<~> 7EH} CONTROL PREFIX {FormatPrefix:<^> 5EH} FORMAT PREFIX {Delimiter:<,> 2CH} DELIMITER CHAR {ZPLMode:ZPL II} ZPL MODE {CommandOverride:ACTIVE} COMMAND OVERRIDE {MediaPowerUp:NO MOTION} MEDIA POWER UP {HeadClose:NO MOTION} HEAD CLOSE {Backfeed:OFF} BACKFEED {LabelTop:+080} LABEL TOP {LeftPosition:+0000} LEFT POSITION {VerifierPort:OFF} VERIFIER PORT {ApplicatorPort:MODE 1} APPLICATOR PORT {ErrorOnPause:ENABLED} ERROR ON PAUSE {StartPrintSig:PULSE MODE} START PRINT SIG {ResynchMode:FEED MODE} RESYNCH MODE {ReprintMode:DISABLED} REPRINT MODE {WebSensor:048} WEB S. {MediaSensor:079} MEDIA S. {RibbonSensor:065} RIBBON S. {TakeLabel:100} TAKE LABEL {MarkSensor:050} MARK S. {MarkMedSensor:000} MARK MED S. {TrainsGain:002} TRANS GAIN {TransBase:040} TRANS BASE {TransBright:086} TRANS BRIGHT {RibbonGain:082} RIBBON GAIN {MarkGain:000} MARK GAIN {ModesEnable:DPCSWFX.} MODES ENABLED {ModesDisabled:.......M} MODES DISABLED {Resolution:832 8/MM FULL} RESOLUTION {Firmware:V53.17.21Z <-} FIRMWARE {XMLSchema:1.3} XML SCHEMA {HardwareID:V45 ---------- 19} HARDWARE ID {Configuration:CUSTOMIZED} CONFIGURATION {RAM:10840k...........R:} RAM {OnboardFlash:2048k............E:} ONBOARD FLASH {FormatConvert:NONE} FORMAT CONVERT {P34Interface:*** APPLICATOR} P34 INTERFACE TWINAX/COAX ID {IdleDisplay:FW VERSION} IDLE DISPLAY {RTCDate:11/05/15} RTC DATE {RTCTime:11:22} RTC TIME {ZBI:DISABLED} ZBI {PasswordLevel:ALL ITEMS} PASSWORD LEVEL {ZBIVersion:2.1} ZBI VERSION {NonResetCNTRin:2,641,289 IN} NONRESET CNTR {ResetCNTR1in:2,641,289 IN} RESET CNTR1 {ResetCNTR2in:2,641,289 IN} RESET CNTR2 {NonResetCNTRcm:6,708,875 CM} NONRESET CNTR {ResetCNTR1cm:6,708,875 CM} RESET CNTR1 {ResetCNTR2cm:6,708,875 CM}} RESET CNTR2 "@Write-Host "Using ConvertFrom-String with the TemplateThatFails"$startTime = Get-Date$Sample | ConvertFrom-String -TemplateContent $TemplateThatFails | select -ExpandProperty ZebraConfig$endTime = Get-Date$elapsed = "{0:N2}" -f (New-TimeSpan $startTime $endTime).TotalSeconds"$elapsed seconds elapsed"
Output :
Serial : JJK072821.12Z1220126.23630-01.S.JABIDarkness : +20.0PrintSpeed : 6 IPSTearOff : +000Applicator : APPLICATORMediaType : NON-CONTINUOUSSensorType : WEBPrintMethod : DIRECT-THERMALPrintWidth : 812LabelLength : 1874MaximumLength : 9.0IN 228MMSuppliesWarning : DISABLEDEarlyWarning : MAINT. OFFUSBComm : CONNECTEDExternal5v : READYParallelComm : BIDIRECTIONALSerialComm : RS232Baud : 9600DataBits : 8 BITSParity : NONEHostHandshake : XON/XOFFProtocol : NONENetworkID : 000Communications : NORMAL MODEControlPrefix : <~> 7EHFormatPrefix : <^> 5EHDelimiter : <,> 2CHZPLMode : ZPL IICommandOverride : ACTIVEMediaPowerUp : NO MOTIONHeadClose : NO MOTIONBackfeed : OFFLabelTop : +080LeftPosition : +0000VerifierPort : OFFApplicatorPort : MODE 1ErrorOnPause : ENABLEDStartPrintSig : PULSE MODEResynchMode : FEED MODEReprintMode : DISABLEDWebSensor : 048MediaSensor : 079RibbonSensor : 065TakeLabel : 100MarkSensor : 050MarkMedSensor : 000TrainsGain : 002TransBase : 040TransBright : 086RibbonGain : 082MarkGain : 000ModesEnable : DPCSWFX.ModesDisabled : .......MResolution : 832 8/MM FULLFirmware : V53.17.21Z <-XMLSchema : 1.3HardwareID : V45 ---------- 19Configuration : CUSTOMIZEDRAM : 10840k...........R:OnboardFlash : 2048k............E:FormatConvert : NONEP34Interface : *** APPLICATORIdleDisplay : FW VERSIONRTCDate : 11/05/15RTCTime : 11:22ZBI : DISABLEDPasswordLevel : ALL ITEMSZBIVersion : 2.1NonResetCNTRin : 2,641,289 INResetCNTR1in : 2,641,289 INResetCNTR2in : 2,641,289 INNonResetCNTRcm : 6,708,875 CMResetCNTR1cm : 6,708,875 CMResetCNTR2cm : 6,708,875 CM36,32 seconds elapsed
I really don't understand what's going on, but I have managed to suppress the error so I hope this will point you in the right direction.
PS : why is this so long to run ?!