Title: `Start-Transcript` throws when `$Transcript` is a `PSObject` wrapped `string` · Issue #24740 · PowerShell/PowerShell · GitHub
Open Graph Title: `Start-Transcript` throws when `$Transcript` is a `PSObject` wrapped `string` · Issue #24740 · PowerShell/PowerShell
X Title: `Start-Transcript` throws when `$Transcript` is a `PSObject` wrapped `string` · Issue #24740 · PowerShell/PowerShell
Description: Prerequisites Write a descriptive title. Make sure you are able to repro it on the latest released version Search the existing issues. Refer to the FAQ. Refer to Differences between Windows PowerShell 5.1 and PowerShell. Steps to reprodu...
Open Graph Description: Prerequisites Write a descriptive title. Make sure you are able to repro it on the latest released version Search the existing issues. Refer to the FAQ. Refer to Differences between Windows PowerSh...
X Description: Prerequisites Write a descriptive title. Make sure you are able to repro it on the latest released version Search the existing issues. Refer to the FAQ. Refer to Differences between Windows PowerSh...
Opengraph URL: https://github.com/PowerShell/PowerShell/issues/24740
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"`Start-Transcript` throws when `$Transcript` is a `PSObject` wrapped `string`","articleBody":"### Prerequisites\n\n- [X] Write a descriptive title.\n- [X] Make sure you are able to repro it on the [latest released version](https://github.com/PowerShell/PowerShell/releases)\n- [X] Search the existing issues.\n- [X] Refer to the [FAQ](https://github.com/PowerShell/PowerShell/blob/master/docs/FAQ.md).\n- [X] Refer to [Differences between Windows PowerShell 5.1 and PowerShell](https://learn.microsoft.com/powershell/scripting/whats-new/differences-from-windows-powershell).\n\n### Steps to reproduce\n\nFirst bug report I've filed for PowerShell ever, so go easy on me :-). [Here's the PowerShell doc's Github issue I had raised that is now closed with the suggestion of filing a bug report.](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.host/start-transcript?view=powershell-7.4#example-3-start-a-transcript-file-with-a-unique-name-and-store-it-on-a-file-share)\r\n\r\nI believe I've stumbled upon a bug with Start-Transcript when using one of the Start-Transcript examples when using preference variables in PowerShell 7.4.6 (on Windows and Linux) when using '~\\' in the path.\r\n\r\nUsing `Start-Transcript` after using the example #3 in the [docs](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.host/start-transcript?view=powershell-7.4#example-3-start-a-transcript-file-with-a-unique-name-and-store-it-on-a-file-share), I get an error:\r\n\r\n```PowerShell\r\nStart-Transcript: Unable to cast object of type 'Systme.Management.Automation.PSObject' to type 'System.String'.\r\n```\r\n\r\nHowever, if I use `Start-Transcript $Trasncript`, the command works and a transcript is created without issue. I do not get this error using the example with a UNC path or full local path. It seems to only happen when using '~\\' in both Windows and Linux. \n\n### Expected behavior\n\n```console\n$sharepath = '~/PowerShell_Transcripts/'\r\n$username = $env:USERNAME\r\n$hostname = hostname\r\n$version = $PSVersionTable.PSVersion.ToString()\r\n$datetime = Get-Date -f 'yyyyMMddHHmmss'\r\n$filename = \"Transcript-${username}-${hostname}-${version}-${datetime}.txt\"\r\n$Transcript = Join-Path -Path $sharepath -ChildPath $filename\r\nStart-Transcript # I should see \"Transcript Started, output file $filename here\"\n```\n\n\n### Actual behavior\n\n```console\n$sharepath = '~/PowerShell_Transcripts/'\r\n$username = $env:USERNAME\r\n$hostname = hostname\r\n$version = $PSVersionTable.PSVersion.ToString()\r\n$datetime = Get-Date -f 'yyyyMMddHHmmss'\r\n$filename = \"Transcript-${username}-${hostname}-${version}-${datetime}.txt\"\r\n$Transcript = Join-Path -Path $sharepath -ChildPath $filename\r\nStart-Transcript\r\nStart-Transcript: Unable to cast object of type 'System.Management.Automation.PSObject' to type 'System.String'.\n```\n\n\n### Error details\n\n```console\nException : \r\n Type : System.InvalidCastException\r\n TargetSite : \r\n Name : ChkCast_Helper\r\n DeclaringType : [System.Runtime.CompilerServices.CastHelpers]\r\n MemberType : Method\r\n Module : System.Private.CoreLib.dll\r\n Message : Unable to cast object of type 'System.Management.Automation.PSObject' to type 'System.String'.\r\n Source : System.Private.CoreLib\r\n HResult : -2147467262\r\n StackTrace : \r\n at Microsoft.PowerShell.Commands.StartTranscriptCommand.BeginProcessing()\r\n at System.Management.Automation.Cmdlet.DoBeginProcessing()\r\n at System.Management.Automation.CommandProcessorBase.DoBegin()\r\nCategoryInfo : NotSpecified: (:) [Start-Transcript], InvalidCastException\r\nFullyQualifiedErrorId : System.InvalidCastException,Microsoft.PowerShell.Commands.StartTranscriptCommand\r\nInvocationInfo : \r\n MyCommand : Start-Transcript\r\n ScriptLineNumber : 1\r\n OffsetInLine : 1\r\n HistoryId : 13\r\n Line : Start-Transcript\r\n Statement : Start-Transcript\r\n PositionMessage : At line:1 char:1\r\n + Start-Transcript\r\n + ~~~~~~~~~~~~~~~~\r\n InvocationName : Start-Transcript\r\n CommandOrigin : Internal\r\nScriptStackTrace : at \u003cScriptBlock\u003e, \u003cNo file\u003e: line 1\n```\n\n\n### Environment data\n\n```powershell\nName Value\r\n---- -----\r\nPSVersion 7.4.6\r\nPSEdition Core\r\nGitCommitId 7.4.6\r\nOS Fedora Linux 41 (Workstation Edition)\r\nPlatform Unix\r\nPSCompatibleVersions {1.0, 2.0, 3.0, 4.0…}\r\nPSRemotingProtocolVersion 2.3\r\nSerializationVersion 1.1.0.1\r\nWSManStackVersion 3.0\r\n\r\nName Value\r\n---- -----\r\nPSVersion 7.4.6\r\nPSEdition Core\r\nGitCommitId 7.4.6\r\nOS Microsoft Windows 10.0.26100\r\nPlatform Win32NT\r\nPSCompatibleVersions {1.0, 2.0, 3.0, 4.0…}\r\nPSRemotingProtocolVersion 2.3\r\nSerializationVersion 1.1.0.1\r\nWSManStackVersion 3.0\n```\n\n\n### Visuals\n\n_No response_","author":{"url":"https://github.com/billkindle","@type":"Person","name":"billkindle"},"datePublished":"2025-01-05T18:50:45.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":4},"url":"https://github.com/24740/PowerShell/issues/24740"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:1706251f-44df-cc44-961d-8b421456862a |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | C452:122FBB:F368C:137FAB:6A5B5EAB |
| html-safe-nonce | 3a30ca62c6118c87645cfbda2e189c4cd8150fd55741d83127c953d088e4cf98 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDNDUyOjEyMkZCQjpGMzY4QzoxMzdGQUI6NkE1QjVFQUIiLCJ2aXNpdG9yX2lkIjoiMzk2NzI4Nzk1MTk2MTU3OTE3OSIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | a512510bae3a2d56fcaefdcf43d95895068da66f07f04e24d884d71d6068c497 |
| hovercard-subject-tag | issue:2769402824 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/PowerShell/PowerShell/24740/issue_layout |
| twitter:image | https://opengraph.githubassets.com/c227aa35c4074284ce6e0bdc9f0ba6a4ce3cec364ee44ff08652acb965121dde/PowerShell/PowerShell/issues/24740 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/c227aa35c4074284ce6e0bdc9f0ba6a4ce3cec364ee44ff08652acb965121dde/PowerShell/PowerShell/issues/24740 |
| og:image:alt | Prerequisites Write a descriptive title. Make sure you are able to repro it on the latest released version Search the existing issues. Refer to the FAQ. Refer to Differences between Windows PowerSh... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | billkindle |
| hostname | github.com |
| expected-hostname | github.com |
| None | 5290d7e14309ad1e76106a9c4237bd1041517e83ea182c8ab756752cb0c6940b |
| turbo-cache-control | no-preview |
| go-import | github.com/PowerShell/PowerShell git https://github.com/PowerShell/PowerShell.git |
| octolytics-dimension-user_id | 11524380 |
| octolytics-dimension-user_login | PowerShell |
| octolytics-dimension-repository_id | 49609581 |
| octolytics-dimension-repository_nwo | PowerShell/PowerShell |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 49609581 |
| octolytics-dimension-repository_network_root_nwo | PowerShell/PowerShell |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 9c975978430e9ad293956f2bbdaf153b1bd84a99 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width