<p>PowerShell-Kern unter Linux - Get-Service sollte den Linux-Befehl "service" imitieren.</p>

Erstellt am 17. Apr. 2017  ·  3Kommentare  ·  Quelle: PowerShell/PowerShell

Schritte zum Reproduzieren

Geben Sie das Cmdlet ein: Get-Service ssh
Oder Stop-Service ssh
Oder, Start-Dienst ssh

Erwartetes Verhalten

PowerShell => Linux
Get-Service ssh => service --status-all
Start-Service ssh => service ssh start
Stop-Service ssh => service ssh stop

Tatsächliches Verhalten

Jedes der drei Cmdlets gibt die folgenden Fehler aus:
xxx-service : Der Begriff 'xxx-service' wird nicht als Name eines Cmdlets, einer Funktion, einer Skriptdatei oder eines funktionsfähigen erkannt
Programm.
xx-service_2017-04-17_13-59-44

Umgebungsdaten

Linux Ubuntu Desktop 16.04.2

PS /home/maxt> $PSVersionTable                                                                                          
Name                           Value
----                           -----
PSVersion                      6.0.0-alpha
PSEdition                      Core
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   3.0.0.0
GitCommitId                    v6.0.0-alpha.18
CLRVersion
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1

Area-Cmdlets-Management Issue-Enhancement OS-Linux OS-macOS Up-for-Grabs

Hilfreichster Kommentar

Hallo, jeder Fortschritt :-)

*-Service ist wahrscheinlich das wichtigste Cmdlet, das auf Linux portiert werden muss. Die meiste Verwendung von Powershell besteht darin, Dienste zu erstellen und zu verwalten, weil es im Vergleich zu sc, nssm.exe, sysinit und systemd so einfach ist.
Systemd wird mittlerweile von den meisten Linux-Betriebssystemen verwendet. Darauf warte ich sehnsüchtig.

Sogar Raspbian hat systemd

# cat /proc/cpuinfo | grep model | head -1
model name      : ARMv7 Processor rev 5 (v7l)
# cat /etc/debian_version
9.1
# systemctl | grep service | wc -l
41
# pwsh
PowerShell 6.1.0
Copyright (c) Microsoft Corporation. All rights reserved.
https://aka.ms/pscore6-docs
Type 'help' to get help.

PS /root> Get-Command | Measure-Object -line
Lines Words Characters Property
----- ----- ---------- --------
  323

PS /root> Get-Command | select-string -Pattern "Service"
PS /root>

Alle 3 Kommentare

Außer dass service nur auf systemd-Rechnern verfügbar ist. Deshalb ist das schwierig. Wir müssen dieses Verhalten grundsätzlich zwei (oder drei oder vier) Mal implementieren.

Ich stimme zu, wenn wir Powershell für die Verwaltung von Azure-Bereitstellungen verwenden, die Windows sein können oder nicht

Hallo, jeder Fortschritt :-)

*-Service ist wahrscheinlich das wichtigste Cmdlet, das auf Linux portiert werden muss. Die meiste Verwendung von Powershell besteht darin, Dienste zu erstellen und zu verwalten, weil es im Vergleich zu sc, nssm.exe, sysinit und systemd so einfach ist.
Systemd wird mittlerweile von den meisten Linux-Betriebssystemen verwendet. Darauf warte ich sehnsüchtig.

Sogar Raspbian hat systemd

# cat /proc/cpuinfo | grep model | head -1
model name      : ARMv7 Processor rev 5 (v7l)
# cat /etc/debian_version
9.1
# systemctl | grep service | wc -l
41
# pwsh
PowerShell 6.1.0
Copyright (c) Microsoft Corporation. All rights reserved.
https://aka.ms/pscore6-docs
Type 'help' to get help.

PS /root> Get-Command | Measure-Object -line
Lines Words Characters Property
----- ----- ---------- --------
  323

PS /root> Get-Command | select-string -Pattern "Service"
PS /root>
War diese Seite hilfreich?
0 / 5 - 0 Bewertungen