How to install telnet client on windows nano server container? - powershell

I need to test network access from a windows container, using the telnet client.
The only image i found for this is microsoft nano server, that does not come with telnet client.
I try to add it but seams the installer is not part of nano server image either.
How can i install it?
For clarity, here the steps i try:
docker run -it microsoft/dotnet:nanoserver powershell
// gives the error: Add-WindowsFeature : The term 'Add-WindowsFeature' is not recognized as the name of a cmdlet, function, script file,or operable program.
PS> powershell -Command Add-WindowsFeature "telnet-client"

Related

Unable to invoke ssh.exe in PowerShell even on providing the full path via UiPath Studio

The following works on my windows machine using PowerShell
ssh username#example.com
Now, I am trying to run the same command within PowerShell using UiPath Studio for RPA but I get the standard invalid command error -
Invoke Power Shell: the term 'ssh username#example.com' is not recognized as the name of a cmdlet, function, script file, or operable program...
However ssh.exe does exist on the machine and I even tried providing the absolute path, same result.
Are there any additional configurations to be done on the UiPath / system end to make ssh executable via UiPath Studio?
Thanks in advance
I had a similar issue with Invoke-SSH, what I did was to do Import-Module Posh-SSH, but that resulted to:
Import-Module: Could no load file or assembly 'Renci.Ssh.Net
So in UiPath Studio I went to Manage Packages and installed the Nuget package for Renci SSH. Afterwards, the Import worked, and then the Invoke-SSH command worked too.
Got this tip from this video: https://www.youtube.com/watch?v=y2VnY48MJQE&ab_channel=techu

Run X11 Server (VcXsrv) from Windows Powershell

I would like to set up an X11 Server so that I can run graphical Linux applications using the Windows Subsystem for Linux (WSL 2). I have tried following the instructions on this site.
The command
choco install vcxsrv
completed successfully. But I cannot see how to start XLaunch (VcXsrv).
I already have Cygwin/X X Server installed on my machine and I am still able to launch that successfully. But when I try the following command,
PS C:\WINDOWS\system32> vcxsrv
I get the following error message,
vcxsrv : The term 'vcxsrv' is not recognized as the name of a cmdlet, function, script file, or operable program.
I have spent quite a bit of time trying to figure out how to start XLaunch (VcXsrv) without any success.
Try to look on default folder installation:
"C:\Program Files\VcXsrv\xlaunch.exe"
Try this command to run VcXsrv
xfsettingsd --sm-client-disable; xfce4-panel --sm-client-disable --disable-wm-check &
or
C:\Program Files\VcXsrv\xlaunch.exe
Refer the following link to understand VcXsrv installation and it's usage,
Running WSL GUI Apps on Windows 10

Can you pass commands to a VM from the host server?

I have written a batch file to set the IP address of a host server and the two virtual machines running on it. At the moment you have to copy the script onto each machine and run it which isn't what I want, I would like to run the script on the host server and have the commands passed to each VM.
Is this possible?
You could make a powershell script which uses PsExec(comes with sysinternals) to run a scriptblock or script file on your vm machine.
It will look something like this:
PSExec \RPC001 -i -u myID -p myPWD PowerShell C:\script\StartPS.ps1
Apparantly targetting a VM could be more tricky, see this link for more information:
Is there a way to psexec into my own virtual machine (windows xp mode)?

Noninteractive Remote Commands with Powershell

I am developing a script which uses ssh to connect to a windows host, run a powershell command, and parse the output. While I can connect to the host and run the command, powershell will not exit and return control back to the local script until I press the enter key.
At the moment, the specific command being run is ssh HOSTNAME 'echo $(hostname)' and the ssh server is configured to pass remote execution requests to powershell -noninteractive -command CMD, where HOSTNAME is the name of the windows host and CMD is the remote command to be run (in this case echo $(hostname)).
The end goal is to have the script which is calling remote powershell commands to run completely noninteractively, but this is currently impossible as the powershell command will not run noninteractively.
How do I get powershell to run remote commands noninteractively?
I've resolved the issue. While I haven't determined what was causing the issue, I can at least overcome the issue at hand by redirecting stdin to /dev/null on the side that initiates the ssh connection.
$ ssh HOSTNAME "CMD" </dev/null
This solution doesn't involve powershell at all, but rather treats the symptoms from the other side of the connection.

FreeSSHd in jenkins and from commandline

i have installed fresshd in one of my windows server.now i am connect to the system through putty. It is working fine.
my issue us when i am running from command line
PuTTY.lnk -ssh -2 -P 22 username#XXX -pw pswd -m command.txt
commands given in the command.txt files are not executed it just open the putty console and it is closing.
when Running from Jenkins also same issue.
I am not sure if you are connecting to Windows from a Linux machine, or to Linux from a Windows machine. Or Windows to Windows?
PuTTY.lnk is not an executable. If you try to run that, it should produce an error 'PuTTY.lnk' is not recognized as an internal or external command. I am assuming you are running the command from a Windows machine, since you are referring to windows shortcut file (.lnk)
You need to use PuTTY.exe + the rest of your command line. Please note that unless it is in your $PATH settings, you would have to provide a full path to the .exe, for example C:\LocationOfPuttyInstall\putty.exe -ssh -2 -P 22 username#XXX -pw pswd -m command.txt. For the sake of preventing any other problem, you should also specify a correct full path to the command.txt file.
If you are not sure where your Putty is installed, on the Windows machine, do the following:
Right click your PuTTY shortcut (the PuTTY.lnk file)
Look under "Target"
That would list your full path to PuTTY.exe executable.
This should resolve your problem.
p.s.
Usually Putty is used to connect from a Windows machine to a Linux machine. From your question, it almost looks like you are trying to connect from a Windows machine to another Windows machine.
You should use PsExec windows tool for such purposes:
http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx