Is that actually a string, or is that list output of a PowerShell object? If it’s an object, you’d just do $object.Name . Assuming that this is text in a single string variable (not an array), then this should work:
(?m) : This sets the pattern to "multiline mode", which means that the ^ an $ anchors will match the beginning and ending of each line, respectively, instead of only the beginning and ending of the entire string.
^ : This matches the beginning of any line (in multiline mode.)
\s*Name\s*:\s* : This matches zero or more whitespace characters followed by the word Name, followed again by zero or more whitespace characters, a colon, and zero or more whitespace characters again. This would match "Name:", " Name : ", etc, so long as no other non-whitespace was found before Name at the beginning of the line.
(.+?) : The parentheses are a capturing group. Whatever text is eventually matched by the regex pattern inside them can be accessed later, in this case by checking $matches[1]. The ".+" part matches one or more characters, and the "?" makes the + operator lazy (meaning it will match as few characters as possible.) I made the operator lazy because I didn't want the "." wildcard to match...
\s*$ : Any trailing whitespace before the end of the line.