Windows has a built-in SSH client that you can use from PowerShell. Typically, Linux installs have an SSH server pre-configured. You can directly log in to a Linux system with a running SSH server and an open port (any system really, not just Linux). When you log in, what you will get is a prompt for whichever shell is configured as the default for the user that you logged in as on the remote system (probably Bash). At this point, if PowerShell is installed on the remote system then you could launch it from the Bash session and use it that way. Or, you could simply use the native shell. Basically, the SSH session is shell-agnostic; as long as there is something configured to handle the SSH session the system will use that.
This article has a good walkthrough for setting up cross-platform SSH remoting with PowerShell: Enable PowerShell SSH Remoting in PowerShell 7
You should be aware of the differences between Windows PowerShell and PowerShell Core. Windows PowerShell (up to version 5.1) is based on the .NET Framework and is not cross-platform. Really, PowerShell cmdlets are more user-friendly abstractions of .NET Framework classes - thus “cmdlet” rather than “command” because they send instructions that are interpreted by the PowerShell runtime and by .NET, rather than calling executables that address the operating system directly (like the GNU coreutils). PowerShell Core (version 5.1+) is built on .NET Core, which is an open source, cross-platform implementation of .NET. There are differences between .NET Core and .NET Framework.
If you are working on a Windows 10 system, the default shell is Windows PowerShell 5.1 (not PowerShell Core). PowerShell (Core) 7 is intended to reproduce the functionality of Windows PowerShell 5.1, but the reality is that it’s not complete yet and so Windows PowerShell 5.1 is still the default for Windows installations.
The upshot of all this is that you should choose an environment to work in and configure it properly before you start trying to write scripts. Probably, you’ll want to use PowerShell 7 on both Windows and Linux so that it’s consistent. You could work from the default Windows PowerShell 5.1 on Windows and send cmdlets to PowerShell 7 on Linux, but there will be differences in which cmdlets are available and how they function.
Alternatively, you could write a PowerShell script on Windows that delivers Bash script to Linux - you don’t necessarily have to have PowerShell on the Linux system in order to work with it or automate it remotely.
Generally speaking, this is a troubleshooting and teaching forum. Most will be happy to help fix broken code, answer questions or point you to useful resources - but not do your work for you.