Powershell core 在Linux上试用

简介:

微软终于宣布Powershell开源了,也就是可以在Linux和OSX上执行了。

豆子参考这篇博文,简单的测试了一下。

http://www.howtogeek.com/267858/how-to-install-microsoft-powershell-on-linux-or-os-x/


找了一个CentOS7的服务器,https://github.com/PowerShell/PowerShell/releases/ 这个上面下载对应的rpm文件,然后拷贝到我的/tmp目录,然后执行yum install的操作


目前的版本还是alpha版本,所以肯定有很多bug,先尝尝鲜看看

1
2
3
4
[root@sydnagios ~] # yum install /tmp/powershell-6.0.0_alpha.9-1.el7.centos.x86_64.rpm
Loaded plugins: fastestmirror, langpacks
Examining  /tmp/powershell-6 .0.0_alpha.9-1.el7.centos.x86_64.rpm: powershell-6.0.0_alpha.9-1.x86_64
/tmp/powershell-6 .0.0_alpha.9-1.el7.centos.x86_64.rpm: does not update installed package.


等安装完成之后就可以直接使用powershell了

1
2
3
4
[root@sydnagios ~] # powershell
PowerShell
Copyright (C) 2016 Microsoft Corporation. All rights reserved.
PS  /root >


随便执行几条命令试试


比较有趣的是, 我确实可以用ps命令导出结果,甚至也能导入,不过导入的结果不像window里面把所有的内容自动作为属性来保存,而是整个字符串作为一个属性,如果要处理这个文件的内容,我还是得和Linux一样去处理字符串,powershell的对象特性完全没有体现出来


1
2
3
4
5
6
7
8
9
10
11
12
PS /root>  get-process  out-file  /tmp/test.csv
PS /root>  $a = import-csv  /tmp/test.csv
WARNING: One or more headers were not specified.  Default  names starting with  "H"  have been used  in  place of any missing headers.
PS /root> ¥                                                                                                                                 PS /root>  $a  | gm
    TypeName: System.Management.Automation.PSCustomObject
Name        MemberType   Definition
----        ----------   ----------
Equals      Method       bool Equals(System.Object obj)
GetHashCode Method       int GetHashCode()
GetType     Method       type GetType()
ToString    Method       string ToString()
H1          NoteProperty string H1=Handles  NPM(K)    PM(K)      WS(K)     CPU(s)     Id  SI ProcessName

                      

另外一个豆子很期待的功能是远程操作,可惜invoke-command 这个命令根本就不存在,enter-pssession虽然存在,但是执行会报错,找不到对应的dll文件。我尝试谷歌了一下这个文件,一条线索都没有,估计太新了,还没有人遇见过这个问题。


1
2
3
4
5
6
7
8
9
10
11
PS /root>  Enter-PSSession  -ComputerName sydit01 -Credential ominicom\yli
Windows PowerShell credential request
Enter your credentials.
Password  for  user ominicom\yli: **********
Enter-PSSession  : Unable to load DLL  'libpsrpclient' : The specified module could not be found.
  (Exception from HRESULT: 0x8007007E)
At line:1 char:1
Enter-PSSession  -ComputerName sydit01 -Credential ominicom\yli
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     + CategoryInfo          : NotSpecified: (:) [ Enter-PSSession ], DllNotFoundException
     + FullyQualifiedErrorId : System.DllNotFoundException,Microsoft.PowerShell.Commands.EnterPSSessionCommand


总之呢,很开心看见PS开源,也能够在*ix上执行,不过现在模块很少,命令总共才300多条,加上各种bug,还不太实用。希望成熟的版本能尽快出来,这样在苹果和Linux下也能远程的管理Windows了。






本文转自 beanxyz 51CTO博客,原文链接:http://blog.51cto.com/beanxyz/1840979,如需转载请自行联系原作者

目录
相关文章
|
7月前
|
NoSQL 安全 Linux
Linux 中 core dump 文件的作用和使用方法
Linux 中 core dump 文件的作用和使用方法
1190 1
|
4月前
|
Linux C# C++
【Azure App Service For Container】创建ASP.NET Core Blazor项目并打包为Linux镜像发布到Azure应用服务
【Azure App Service For Container】创建ASP.NET Core Blazor项目并打包为Linux镜像发布到Azure应用服务
|
6月前
|
存储 NoSQL 安全
深入Linux Core文件生成与自定义命名规则
深入Linux Core文件生成与自定义命名规则
172 2
|
7月前
|
NoSQL Linux
Linux系统调试中出现核心转储(core dump)的问题
Linux系统调试中出现核心转储(core dump)的问题
925 0
|
7月前
|
运维 NoSQL Linux
linux环境收集core文件步骤
请注意,生成core文件可能会占用磁盘空间,因此应谨慎使用。一旦完成故障排查,建议将相关的core文件删除以释放磁盘空间。
127 5
|
7月前
|
运维 NoSQL Linux
linux环境收集core文件步骤
请注意,生成core文件可能会占用磁盘空间,因此应谨慎使用。一旦完成故障排查,建议将相关的core文件删除以释放磁盘空间。
60 4
|
6月前
|
NoSQL Linux C++
Linux C/C++ gdb调试core文件
Linux C/C++ gdb调试core文件
|
6月前
|
Linux C# C++
【.NET Developer】创建ASP.NET Core Blazor项目并打包为Linux镜像发布到Azure应用服务
本文介绍了如何使用VS2019和.NET框架创建一个Blazor应用,并将其部署到Azure应用服务。首先,Blazor是一个使用C#而非JavaScript构建交互式Web UI的框架,支持共享服务器和客户端应用逻辑,以及与Docker和Azure集成。任务包括创建Blazor项目,配置Dockerfile为Linux容器,本地测试,发布到Azure Container Registry (ACR),然后在Azure App Service for Container上部署。在部署过程中,需确保Docker设置正确,开启ACR的Admin访问权限,并监控镜像拉取和容器启动日志。
286 0
|
7月前
|
Linux 程序员 Shell
【Linux】详解core dump文件的作用以及用法&&ubuntu20.04下无法形成core dump文件的解决办法
【Linux】详解core dump文件的作用以及用法&&ubuntu20.04下无法形成core dump文件的解决办法
313 0
|
存储 NoSQL Linux
【Linux】进程信号中的 core dump 标记位
【Linux】进程信号中的 core dump 标记位