Skip to content

Powershell docker image, Restart-Computer cmd missing 'ComputerName' parameter #841

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
5 tasks done
freand418 opened this issue Dec 4, 2024 · 1 comment
Open
5 tasks done

Comments

@freand418
Copy link

Prerequisites

  • Write a descriptive title.
  • Make sure you are able to repro it on the latest image.
  • Search the existing issues.
  • Verified that this is not a Known Issue
  • Verified this is not an issues in the underlying windows container that should be reported to Windows Feedback Hub

Steps to reproduce

Trying to remotely restart a windows computer with powershell and Restart-Computer command.

Powershell is running from a docker container with mcr.microsoft.com/powershell image, and from within the docker container i am running a powerhell script.
The script is also tested on a windows 11 machine with powershell and it works as expected.

Output from the script running from powershell in docker, PowerShell 7.4.2.

Expected behavior

Restart remote computer

Actual behavior

PS /> /root/scripts/restart.ps1

Restart-Computer: /root/scripts/restart.ps1:9

Line |
   9 |  Restart-Computer -ComputerName $server -Credential $credObject -Force …
     |                   ~~~~~~~~~~~~~
     | A parameter cannot be found that matches parameter name 'ComputerName'.

Error details

No response

Environment data

{
   "schemaVersion": 2,
   "mediaType": "application/vnd.docker.distribution.manifest.list.v2+json",
   "manifests": [
      {
         "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
         "size": 742,
         "digest": "sha256:73c08403182e3cd1a62176b6723645b2d2037cda8deefc0e2c2c01cb814abe43",
         "platform": {
            "architecture": "amd64",
            "os": "linux"
         }
      },
      {
         "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
         "size": 1160,
         "digest": "sha256:f7306ab20f28b5609264d6e49cb18a4804cafe7a78c33679e3a6ce907d692d0a",
         "platform": {
            "architecture": "arm",
            "os": "linux",
            "variant": "v7"
         }
      },
      {
         "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
         "size": 2001,
         "digest": "sha256:055163474207105ca91482e142b923a65c0853feead3812d7f1cdc04203ab244",
         "platform": {
            "architecture": "amd64",
            "os": "windows",
            "os.version": "10.0.20348.2402"
         }
      }
   ]
}

Visuals

No response

@Herr-Sepp
Copy link

Herr-Sepp commented Mar 7, 2025

You are trying to use a windows-cmdlet on a linux container.

https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.management/restart-computer?view=powershell-7.5
This cmdlet is only available on the Windows platform.

This have nothing to do with PowerShell-Docker.
If you using Docker Desktop switch to Windows Container or use the Windows Container Engine directly.

This cmdlet is only available on the Windows platform. The Restart-Computer cmdlet restarts the operating system on the local and remote computers. You can use the parameters of Restart-Computer to run the restart operations, to specify the authentication levels and alternate credentials, to limit the operations that run at the same time, and to force an immediate restart. Starting in Windows PowerShell 3.0, you can wait for the restart to complete before you run the next command. Specify a waiting time-out and query interval, and wait for particular services to be available on the restarted computer. This feature makes it practical to use Restart-Computer in scripts and functions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants