如何开启Powershell服务器? (开启powershell服务器)

如何开启PowerShell服务器?

PowerShell是一种非常强大的脚本语言和管理工具,它是Windows操作系统中的命令行界面。而且,PowerShell支持使用命令行和脚本开发自定义管理员任务和管理任务。但在某些情况下,您可能需要开启PowerShell服务器,以便能够从远程计算机问PowerShell。

本文将介绍如何在Windows Server 2023/2023中开启PowerShell服务器。让我们开始吧!

1. 安装PowerShell

您需要在Windows Server操作系统上安装PowerShell。如果您使用的是Windows Server 2023或更新版本,则默认安装了PowerShell。

但是,在Windows Server 2023、2023和2023 R2中,您需要手动安装PowerShell。从Microsoft的官网(https://docs.microsoft.com/en-us/powershell/scripting/install/installing-windows-powershell?view=powershell-7)中下载适用于您的操作系统版本的PowerShell,并按照安装向导进行设置。

2. 开启WinRM服务

PowerShell服务器是通过Windows远程管理(WinRM)服务实现的。因此,您需要确保已在操作系统中启用WinRM服务。请按照以下步骤操作:

a. 打开Windows PowerShell,并使用管理员权限运行。

b. 输入“winrm quickconfig”命令,然后按Enter键。这将启用WinRM服务。

c. 如果系统提示您是否继续,就输入Y并按Enter键。

d. 等待该命令完成,然后按Enter键继续。

此时,WinRM服务已启用,并可以将其用于远程连接。

3. 配置防火墙规则

开启PowerShell服务器后,您需要为防火墙配置规则。否则,其他计算机将无法访问您的PowerShell服务器。请按照以下步骤操作:

a. 打开控制面板,选择Windows防火墙。

b. 单击“高级设置”。

c. 选择“入站规则”。

d. 单击“新建规则”。

e. 选择“端口”,然后单击“下一步”。

f. 输入“5985”或“5986”作为端口号,具体选择哪一个取决于您将使用的协议(HTTP或HTTPS)。然后单击“下一步”。

g. 选择“允许连接”并单击“下一步” 。

h. 选择您想要应用规则的网络位置。通常,您应该选择“公用”(Public)。然后单击“下一步”。

i. 输入规则的名称和描述(可选)。然后单击“完成”。

现在,您已经创建了一个用于访问PowerShell服务器的入站规则。

4. 配置HTTPS(可选)

如果您想要使用HTTPS进行加密连接,而不是使用HTTP进行非加密连接,则需要使用证书。为了配置HTTPS,您需要:

a. 在服务器上安装SSL证书。

b. 配置WinRM以仅使用HTTPS连接。

c. 更新防火墙规则。

要安装SSL证书,请通过IIS管理器进行设置。在配置WinRM以仅使用HTTPS连接方面,可执行以下命令:winrm set winrm/config/service/auth @{Basic=”false”},然后执行winrm set winrm/config/service @{AllowUnencrypted=”false”}。

5. 使用PowerShell访问远程服务器

现在,您已经成功开启了PowerShell服务器!要使用PowerShell,您需要打开另一个计算机,然后使用以下命令来连接到远程计算机:

Enter-PSSession –ComputerName

这将通过WinRM服务在两台计算机之间建立连接。

如果您使用了HTTPS协议,则需要在命令中添加“-UseSSL”开关。例如:

Enter-PSSession –ComputerName –UseSSL

6. 结束远程连接

使用PowerShell服务器时,您可以使用以下命令来断开远程连接:

Exit-PSSession

这将在您的本地计算机和远程计算机之间断开连接。

相关问题拓展阅读:

怎么使用powershell管理远程的hyper-v服务器

你本机的PowerShell hyper-v model版本和远程机器的hyper-v不兼容。

这种问题,你可以通过Powershell Remote 远程连接到hyper-v主机,然后调用能够兼容远程主机的命令。

你漏段本机的PowerShell hyper-v model版本和远程机器的hyper-v不兼闹渣容。

这种问题,你可以通过Powershell Remote 远程连接到hyper-v主机,然后调用能够兼容远液搜悄程主机的命令。

你可以去服务器厂商(正睿)的网上找找相关文档参考一下,应该很快就清楚了!

PowerShell是什么

PowerShell   介绍   即开发代号为Monad的命令行外壳和脚本系统管理工具。 powershell   PowerShell是

微软公司

于2023年第四季度正式发布的. 它的出现标志着, 微软公司向服务器领域迈出了重要的一步, 拉近了与Unix, Linux等操作系统的距离. PowerShell的前身命名为Monad, 在2023年4月25日正式发布beta版时更名为PowerShell.   PowerShell是一款基于对象的shell, 建立在.Net框架之上, 目前支持.Net Framework 2.0. 能够运行在Windows XP SP2, Windows Vista, Windows 2023操作系统上. 能够同时支持WMI, COM, ADO.NET, ADSI等已有的Windows管理模型.   根据微软公司的计划, 2023年将会实现所有微软公司的GUI管理工具通过PowerShell作为中间层对服务程序进行管理, 现阶段例如Exchange 2023等已经支持PowerShell的管理. 可以预期, 使用PowerShell管理Windows服务器指日可待.   目前PowerShell Version 2.0 正在紧锣密鼓的开发中, 最近首席架构师接受了媒体采访, 介绍了关于远程管理等新特性.   这项全新的技术提供了丰富的控制与自动化的系统管理能力;而“脚本语言”(scripting languages)则是用来编写程序的计算机语言。脚本型告镇语言通常都有简单、易学、易用的特性,目的就卜粗是希望能让写程序的人(开发者)快速完成程序的编写工作。   Windows PowerShell 是微软公司为 Windows 环境所开发的壳程式(shell)及脚本语言技友悄术,采用的是命令行界面。这项全新的技术提供了丰富的控制与自动化的系统管理能力。   之前的专桉代号是 Monad,程式另一个名称叫 Microsoft Shell(MSH)。   起源与目的   UNIX 系统一直有着功能强大的脚本(shell),Windows PowerShell 的诞生就是要提供功能相当于 UNIX 系统 BASH 的命令列壳程式,同时也内建脚本语言以及辅助脚本程式的工具。   程式特性   一致性的设计让所有工具和系统资料的使用语法、命名原则都相同。   脚本语言简单易学,而且能支援现有的脚本程式和命令列工具。   内含129种称为 cmdlet 的标准工具,可用来处理常见的系统管理工作。   具备完整的扩充功能,独立软体商或开发者都能很容易的自行扩充。   cmdlet 是 Windows PowerShell 的指令,发音念法为 command-let。这相当于 DOS 或其他壳程式的内建指令,指令名称的格式都是以连字号(-)隔开的一对动词和名词,并且通常都是单数名词;例如线上查询说明的 cmdlet 指令为 get-help,名称的动词部分大致有 get、set、add、remove 等等(字母都不分大小写)。   技术基础   Windows PowerShell 是以

.NET Framework

技术为基础,并且与现有的 WSH 保持回溯相容,因此它的脚本程式不仅能存取 .NET CLR,也能使用现有的 COM 技术。同时也包含了数种系统管理工具、简易且一致的语法,提升管理者处理,常见如登录资料库、WMI。Exchange Server 2023 以及 System Center Operations Manager 2023 等

伺服器

软体都将内建 Windows PowerShell。   PowerSHell上手   相对于传统的命令行工具,PowerShell对很多用户来说都会显得非常陌生。究竟PowerShell支持哪些命令呢?其实PowerShell可以管理系统进程,服务,

注册表

,系统日志甚至证书等多项内容。想知道它支持哪些命令,只需要在窗口内输入get-command并按下回画就可以了,这时屏幕上会显示所有PowerShell支持的命令。   此处除了可以显示命令的类型外,还会显示名称和描述。想查看某个命令的详细用法就可以使用get-helt命令来获得帮助,比如要查看add-content命令的详细内容,就可以输入get-help add-content,按下回车后就会显示命令的名称,摘要,语法,详细说明,相关链接以及备注。要想更深入了解powerShell就要经常获取帮助哦。PowerShell应用   PowerShell可以方便地查看和结束系统内的进程,这样不仅可以监控系统内的可疑进程,还可以轻松地将其关闭。要想查看当前系统内的进程,就需要打开PowerShell,输入 get-process后按下回车,这样系统中进程的句柄,进程名,进程占用处理器时间和进程唯一标识符就会显示出来。   如果要结束某个或多个进程,就需要记录下进程的唯一标识符,在powerShell中输入Stop-process后根据提示输入一个或多个进程的ID,按下回车后进程即可被自动结束。   用别外快速启动程序   对于某些常用的命令,powershell还支持将其设置为别名使用。比如需要给get-process设置别外,就可以在powershell中输入set-alias gp get-process,其中gp为命令get-process的别外。按下回车后直接用gp就可以代替get-process命令了。   同理很多系统内建的工具也可以在powershell中设置别名了,比如在powershell中输入notepad后就可以启动记事本。要想更快地启动记事本,就可以为其设置别名,输入set-alias np notepad后按下回车,这样再次输入np就可以打开记事本了。   PowerShell还有着管理系统服务,操作注册表和众多的网络相关操作。   范例   停止所有目前执行中的以”p”字元开头命名的程式:   PS> get-process p* | stop-process   停止所有目前执行中的所有使用大于1000MB记忆体的程式:   PS> get-process | where { $_.WS -gt 1000MB } | stop-process   计算一个目录下档桉内的

位元组

大小:   PS> get-childitem | measure-object -property length -sum   等待一个叫做”notepad”的程式执行结束:   PS> $processToWatch = get-process notepad   PS> $processToWatch.WaitForExit()   将”hello, world!”

字串

转为英文大写字元,成为”HELLO, WORLD!”:   PS> “hello, world!”.ToUpper()   在字串”string”的第1个字元后插入字串”ABC”,成为”sABCtring”:   PS> “string”.Insert(1, “ABC”)   订阅一个指定的RSS Feed并显示它最近8个主题:   PS> $rssUrl = ”

”   PS> $blog = (new-object System.Net.WebClient).DownloadString($rssUrl)   PS> $blog.rss.channel.item | select title -first 8   把”$UserProfile”设定成数值”UserProfile”的环境变数:   PS> $UserProfile = $env:UserProfile   最新版本   目前的版本为 Windows PowerShell V2(CTP3)   常用开发工具   powershell plus 版本 3.0.1.0

使用powershell管理电脑(翻译自官方文档. Managing computers)

设置电脑除了一些标准命令行工具,还需要WMI和CIM class

学习这些可以使我们了解到powershell与外部工具交互的方式。

唯一直接上锁亏销的方法是调用

user32.dll

里的

LockWorkstation()

函数

执行以下命令即可

rundll32.exe user32.dll,LockWorkStation

rundll32.exe是一个可以执行windows dll的工具,user32.dll里面包含了一系列管理的函数。

在本地系统中注销会话有几种方法,其中最简单的方侍空桥法是使用命令行工具logoff.exe。

( logoff /? 查看具体使用帮助),直接执行logoff命令就会注销当前会话

也可以使用shutdown.exe,l选项就是用于注销的。

shutdown.exe -l

还有一个方法是使用WMI, Win32_OperatingSystem 的Shutdown方法

Get-CimInstance -Classname Win32_OperatingSystem | Invoke-CimMethod -MethodName Shutdown

这两个操作是类似的工作。有两个直接的选项可以重启电脑

tsshutdn.exe

or

shutdown.exe

这两个命令行工具加上合适的参数就可以。

不过 powershell自身也提供了关闭电脑和重启的方法

Stop-Computer

Restart-Computer

我一般是搭配sleep命令实现定时关机

Start-Sleep -Seconds (60*60*3) ; Stop-Computer -Force

当然shutdown这个命令工具的功能更加强大

Get-CimInstance -ClassName Win32_Desktop

这会获取所有的桌面信息。

因为大多数属性是以Cim开头的,可以用Select-Object来过滤掉这些Cim开头的项目

Get-CimInstance -ClassName Win32_Desktop | Select-Object -ExcludeProperty “CIM*”

Get-CimInstance -ClassName Win32_BIOS

Get-CimInstance -ClassName Win32_Processor | Select-Object -ExcludeProperty “CIM*”

获取处理器家族信息,可以加上SystemType属性

Get-CimInstance -ClassName Win32_ComputerSystem

Get-CimInstance -ClassName Win32_QuickFixEngineering

为了更简洁的输出,你可能想要排除掉一些属性。

但是你如果只指定一个属性老猛比如

HotFixID

,还是会返回给更多的信息

这里我们同样需要用 Select-Object

Get-CimInstance -ClassName Win32_OperatingSystem | Select-Object -Property BuildNumber,BuildType,OSType,ServicePackMajorVersion,ServicePackMinorVersion

也可以用Select进行过来吧,因为Build和ServicePack开头的信息比较重要

Get-CimInstance -ClassName Win32_OperatingSystem | Select-Object -Property Build*,OSType,ServicePack*

Get-CimInstance -ClassName Win32_OperatingSystem | Select-Object -Property NumberOfLicensedUsers,NumberOfUsers,RegisteredUser

更简洁的用法

Get-CimInstance -ClassName Win32_OperatingSystem | Select-Object -Property *user*

Get-CimInstance -ClassName Win32_LogicalDisk -Filter “DriveType=3”

统计使用空间和未使用空间

Get-CimInstance -ClassName Win32_LogicalDisk -Filter “DriveType=3” | Measure-Object -Property FreeSpace,Size -Sum | Select-Object -Property Property,Sum

Get-CimInstance -ClassName Win32_LogonSession

Get-CimInstance -ClassName Win32_ComputerSystem -Property UserName

Get-CimInstance -ClassName Win32_LocalTime

Get-CimInstance -ClassName Win32_Service | Select-Object -Property Status,Name,DisplayName

为了显示个别较长的名字,需要使用 Format-Table 调整格式

关于服务开启关闭的属性是State

可以使用以下两个命令获取,通过where命令来过滤

也可以构建过滤哈希表

Get-WinEvent -FilterHashtable @{ LogName=’Application’ ProviderName=’*defrag’ }

关于开启powershell服务器的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » 如何开启Powershell服务器? (开启powershell服务器)