在 Windows 平台上,Powershell Core 可以使用 Windows Powershell 特定功能吗?
On Windows platforms, can Powershell Core use Windows Powershell specific features?
Windows Powershell
的一些功能在 Powershell Core
中不受支持。由于 Powershell Core
正在积极开发以支持 Windows Powershell
,因此在 Windows 平台上可以 Powershell Core
使用尚未移植到 [=13] 的 Windows Powershell
模块=]?
最值得注意的是,我关心的是确保 Powershell Core
可以使用 COM 对象和 Powershell Remoting(通过 WinRM)。
先回答你的具体问题
PowerShell Core 可以将 WinRM 远程处理用于 Windows 到 Windows 远程处理方案。使用方式与 Windows PowerShell 完全相同。从 Linux 台机器到 Windows 台机器都可以使用 WinRM 远程处理,但仍在进行中。如果您的远程处理方案涉及 Linux 系统,您最好使用 SSH 远程处理
您可以使用 COM 对象(仅在 Windows 系统上),例如这有效:
$xl = New-Object -comobject 'Excel.Application'
$xl.visible = $true
$xlbooks =$xl.workbooks
$wkbk = $xlbooks.Add()
$sheet = $wkbk.WorkSheets.Item(1)
关于模块,某些模块将在 PowerShell 核心下工作 - 例如网络模块和存储模块。如果它是一个二进制模块,例如 Active Directory,那么它将无法工作。至少一些二进制模块,包括 AD,正在转换为与 PowerShell 核心一起工作。如果您查看模块文件夹并且它有 CDXML 文件,它应该可以在 PowerShell 核心下工作。
您还可以使用隐式远程处理来使模块工作。创建到本地计算机的 powershell 远程会话,并通过远程会话导入模块。
PowerShell 核心仍在进行中,使用它的模块数量会随着时间的推移而增加。如果有疑问,你必须测试
Windows Powershell
的一些功能在 Powershell Core
中不受支持。由于 Powershell Core
正在积极开发以支持 Windows Powershell
,因此在 Windows 平台上可以 Powershell Core
使用尚未移植到 [=13] 的 Windows Powershell
模块=]?
最值得注意的是,我关心的是确保 Powershell Core
可以使用 COM 对象和 Powershell Remoting(通过 WinRM)。
先回答你的具体问题
PowerShell Core 可以将 WinRM 远程处理用于 Windows 到 Windows 远程处理方案。使用方式与 Windows PowerShell 完全相同。从 Linux 台机器到 Windows 台机器都可以使用 WinRM 远程处理,但仍在进行中。如果您的远程处理方案涉及 Linux 系统,您最好使用 SSH 远程处理
您可以使用 COM 对象(仅在 Windows 系统上),例如这有效:
$xl = New-Object -comobject 'Excel.Application'
$xl.visible = $true
$xlbooks =$xl.workbooks
$wkbk = $xlbooks.Add()
$sheet = $wkbk.WorkSheets.Item(1)
关于模块,某些模块将在 PowerShell 核心下工作 - 例如网络模块和存储模块。如果它是一个二进制模块,例如 Active Directory,那么它将无法工作。至少一些二进制模块,包括 AD,正在转换为与 PowerShell 核心一起工作。如果您查看模块文件夹并且它有 CDXML 文件,它应该可以在 PowerShell 核心下工作。
您还可以使用隐式远程处理来使模块工作。创建到本地计算机的 powershell 远程会话,并通过远程会话导入模块。
PowerShell 核心仍在进行中,使用它的模块数量会随着时间的推移而增加。如果有疑问,你必须测试