无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 551|回复: 35
打印 上一主题 下一主题

[求助] 从win7升级的powershell5.1缺少一些命令

[复制链接]
跳转到指定楼层
1#

我按照下面的教程成功win7自带的2.0升级到了5.1, 但是很多关于磁盘的命令不能用, 例如: Get-Partition, Get-Disk 等, 有大佬知道为什么吗? 在win10下的powershell5.1就可以使用这些命令.
http://bbs.wuyou.net/forum.php?m ... d=439540&page=1
2#
发表于 5 天前 | 只看该作者
你且说说你是怎么输入这些命令的?
回复

使用道具 举报

3#
发表于 5 天前 | 只看该作者
需要安装模块,建议你详细学习Powershell教程
比如:
安装模块 MSOnline:Install-Module MSOnline
导入模块 MSOnline:Import-Module MSOnline
连接到 MS Online 服务:Connect-MsolService Connect-MsolService
回复

使用道具 举报

4#
 楼主| 发表于 5 天前 | 只看该作者
wu733 发表于 2024-9-15 00:29
需要安装模块,建议你详细学习Powershell教程
比如:
安装模块 MSOnline:Install-Module MSOnline

会报下面的错误
PS C:\Users\Administrator> Install-Module MSOnline
无法将“Install-Module”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后重试。
所在位置 行:1 字符: 15
+ Install-Module <<<<  MSOnline
    + CategoryInfo          : ObjectNotFound: (Install-Module:String) [], ParentContainsErrorRecordException

    + FullyQualifiedErrorId : CommandNotFoundException
回复

使用道具 举报

5#
 楼主| 发表于 5 天前 | 只看该作者
wu733 发表于 2024-9-15 00:29
需要安装模块,建议你详细学习Powershell教程
比如:
安装模块 MSOnline:Install-Module MSOnline

就是打开powershell后, 直接输入命令
回复

使用道具 举报

6#
 楼主| 发表于 5 天前 | 只看该作者
看来无解了, win7不支持这个模块, 下面是ai答的
你遇到的错误 `无效命名空间` 表示 PowerShell 无法访问 `Get-Partition` 所需的 WMI 命名空间。这通常发生在以下几种情况下:

1. **PowerShell 版本问题**
   `Get-Partition` 是在 PowerShell 4.0 及更高版本中引入的。如果你使用的是 PowerShell 2.0 或 3.0,那么这个 cmdlet 不可用。

2. **Windows 版本问题**
   `Get-Partition` 需要在 Windows 8 / Windows Server 2012 及更高版本的操作系统上运行。如果你的操作系统版本较旧,那么这个 cmdlet 可能不可用。

3. **模块问题**
   如果 PowerShell 版本和 Windows 版本都符合要求,可能是 `Storage` 模块没有正确安装或加载。

### 解决步骤

1. **检查 PowerShell 版本**
   确认你正在使用的 PowerShell 版本:

   ```powershell
   $PSVersionTable.PSVersion
   ```

   如果版本低于 4.0,请考虑升级 PowerShell。

2. **检查 Windows 版本**
   确保你运行的操作系统版本支持 `Get-Partition`。你可以检查操作系统版本:

   ```powershell
   [System.Environment]::OSVersion
   ```

   `Get-Partition` 需要 Windows 8 / Windows Server 2012 及更高版本。

3. **检查模块和命名空间**
   确保 `Storage` 模块已正确安装和导入。如果你已经确定 `Storage` 模块可用,可以尝试重新加载它:

   ```powershell
   Import-Module Storage
   ```

4. **使用 WMI 或 Disk Management 命令**
   如果你无法使用 `Get-Partition`,可以使用 WMI 查询或 `diskpart` 命令来查看分区信息:

   **使用 WMI 查询分区信息:**

   ```powershell
   Get-WmiObject -Query "SELECT * FROM Win32_DiskPartition"
   ```

   **使用 diskpart:**

   ```powershell
   diskpart
   ```

   在 `diskpart` 提示符下,运行:

   ```diskpart
   list disk
   ```

   ```diskpart
   select disk X  # 替换 X 为实际磁盘号
   ```

   ```diskpart
   list partition
   ```

5. **升级操作系统或 PowerShell**
   如果你的 PowerShell 版本或操作系统不支持 `Get-Partition`,考虑升级到最新版本以获得所需功能。

### 例子

在 PowerShell 4.0 或更高版本中,使用 `Get-Partition` 示例:

```powershell
Get-Partition
```

确保你的操作系统和 PowerShell 版本符合 `Get-Partition` 的要求。如果升级不可行,你可以使用上述的 WMI 查询或 `diskpart` 命令作为替代。
回复

使用道具 举报

7#
发表于 5 天前 | 只看该作者
本帖最后由 wu733 于 2024-9-15 07:29 编辑
2013kyj 发表于 2024-9-15 06:02
会报下面的错误
PS C:%users\Administrator> Install-Module MSOnline
无法将“Install-Module”项识别 ...

命令行输入:Install-Module MSOnline
选择"Y",导入NuGet提供的程序
我的可以啊,不知道你哪里出了问题





2024-09-15_072336.jpg (96.45 KB, 下载次数: 0)

2024-09-15_072336.jpg
回复

使用道具 举报

8#
发表于 5 天前 | 只看该作者
2013kyj 发表于 2024-9-15 06:48
看来无解了, win7不支持这个模块, 下面是ai答的
你遇到的错误 `无效命名空间` 表示 PowerShell 无法访问 ` ...

我不知道你用的什么AI,我百度搜索都得到了答案

2024-09-15_074650.jpg (209.49 KB, 下载次数: 0)

2024-09-15_074650.jpg
回复

使用道具 举报

9#
 楼主| 发表于 5 天前 | 只看该作者
wu733 发表于 2024-9-15 07:47
我不知道你用的什么AI,我百度搜索都得到了答案

感谢回复, 我用的chatGPT,
你确认可以使用那些磁盘的命令吗?
回复

使用道具 举报

10#
 楼主| 发表于 5 天前 | 只看该作者
wu733 发表于 2024-9-15 07:47
我不知道你用的什么AI,我百度搜索都得到了答案

按百度的答案也不行

PS C:\Users\Administrator> Install-WindowsFeature RSAT-Storage-Tools

Install-WindowsFeature : The term 'Install-WindowsFeature' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of t
he name, or if a path was included, verify that the path is correct and try again.
At line:1 char:1
+ Install-WindowsFeature RSAT-Storage-Tools
+ ~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (Install-WindowsFeature:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException
回复

使用道具 举报

11#
发表于 5 天前 | 只看该作者
2013kyj 发表于 2024-9-15 09:28
感谢回复, 我用的chatGPT,
你确认可以使用那些磁盘的命令吗?

7楼我都能运行正常,而你却不能,你肯定哪里出了问题
回复

使用道具 举报

12#
发表于 5 天前 | 只看该作者
2013kyj 发表于 2024-9-15 09:28
感谢回复, 我用的chatGPT,
你确认可以使用那些磁盘的命令吗?

你确定导入了我那帖子开始提到的“允许PowerShell执行脚本权限”注册表了吗?
回复

使用道具 举报

13#
 楼主| 发表于 5 天前 | 只看该作者
wu733 发表于 2024-9-15 09:46
你确定导入了我那帖子开始提到的“允许PowerShell执行脚本权限”注册表了吗?

权限是开放的
回复

使用道具 举报

14#
发表于 5 天前 | 只看该作者
本帖最后由 wu733 于 2024-9-15 09:56 编辑

你4楼的“无法将“Install-Module”项识别为 cmdlet、函数、脚本文件或可运行程序的名称......”
这个错误表明PowerShell无法识别Install-Module这个命令。通常,这是因为PowerShellGet模块没有安装在你的系统上。Install-Module是PowerShellGet模块中的一个cmdlet,用于安装PowerShell模块。
回复

使用道具 举报

15#
 楼主| 发表于 5 天前 | 只看该作者
wu733 发表于 2024-9-15 09:53
你4楼的“无法将“Install-Module”项识别为 cmdlet、函数、脚本文件或可运行程序的名称......”
这个错 ...

正在执行 Install-Module MSOnline  有进度, 但是太慢了, 安装了这个就可以用磁盘相关的命令了?
回复

使用道具 举报

16#
发表于 5 天前 | 只看该作者
本帖最后由 wu733 于 2024-9-15 10:15 编辑
2013kyj 发表于 2024-9-15 09:58
正在执行 Install-Module MSOnline  有进度, 但是太慢了, 安装了这个就可以用磁盘相关的命令了?

Win7的powershell5.1功能不全,更新PowerShellGet模块,以及启用TLS1.2就可以了。建议你参考:https://learn.microsoft.com/zh-cn/powershell/gallery/powershellget/update-powershell-51?view=powershellget-3.x

2024-09-15_101517.jpg (78.7 KB, 下载次数: 0)

2024-09-15_101517.jpg
回复

使用道具 举报

17#
 楼主| 发表于 5 天前 | 只看该作者
wu733 发表于 2024-9-15 10:09
Win7的powershell5.1功能不全,更新PowerShellGet模块,以及启用TLS1.2就可以了。建议你参考:https://le ...

模块都更新了, 没有百度答案中提到的两个模块,
ChatGPT的答案提到的是, 磁盘相关的模块不支持Win7, 只支持Win8及以上
所以我一直问你, 你的powershell5.1能不能用Get-Partition相关的命令
回复

使用道具 举报

18#
发表于 5 天前 | 只看该作者
应该是不支持
回复

使用道具 举报

19#
 楼主| 发表于 5 天前 | 只看该作者
wu733 发表于 2024-9-15 10:09
Win7的powershell5.1功能不全,更新PowerShellGet模块,以及启用TLS1.2就可以了。建议你参考:https://le ...

我把win10下PS5.1相关的磁盘模块导出再导入到win7下都无法使用
回复

使用道具 举报

20#
发表于 5 天前 | 只看该作者
本帖最后由 wu733 于 2024-9-15 11:27 编辑
2013kyj 发表于 2024-9-15 10:51
模块都更新了, 没有百度答案中提到的两个模块,
ChatGPT的答案提到的是, 磁盘相关的模块不支持Win7, 只 ...

我是看到有人在Win7上运行过Get-Disk,以为升级模块就可以了

2024-09-15_112732.jpg (251.67 KB, 下载次数: 0)

2024-09-15_112732.jpg
回复

使用道具 举报

21#
发表于 5 天前 | 只看该作者
2013kyj 发表于 2024-9-15 10:52
我把win10下PS5.1相关的磁盘模块导出再导入到win7下都无法使用

PS2.0可以运行Get-Partition, Get-Disk么?
回复

使用道具 举报

22#
发表于 5 天前 | 只看该作者
使用Get-command查询了下,确实没有Get-Partition, Get-Disk等命令
回复

使用道具 举报

23#
 楼主| 发表于 5 天前 | 只看该作者
wu733 发表于 2024-9-15 11:22
我是看到有人在Win7上运行过Get-Disk,以为升级模块就可以了

截图中的ps窗口一看就是Win10风格的,
回复

使用道具 举报

24#
 楼主| 发表于 5 天前 | 只看该作者
wu733 发表于 2024-9-15 11:44
使用Get-command查询了下,确实没有Get-Partition, Get-Disk等命令

现在已经确定, win7下升级的ps5.1, 不支持磁盘相关的模块,
回复

使用道具 举报

25#
发表于 5 天前 | 只看该作者
来学习下
回复

使用道具 举报

26#
发表于 5 天前 | 只看该作者
建议直接用powershell 7.2,支持win7的最后版本
https://github.com/PowerShell/PowerShell/releases/tag/v7.2.23
回复

使用道具 举报

27#
发表于 5 天前 | 只看该作者
placeholder 发表于 2024-9-15 19:13
建议直接用powershell 7.2,支持win7的最后版本
https://github.com/PowerShell/PowerShell/releases/tag/ ...

PS7.2支持楼主所说的Get-Partition, Get-Disk等命令?
回复

使用道具 举报

28#
发表于 5 天前 | 只看该作者
wu733 发表于 2024-9-15 19:16
PS7.2支持楼主所说的Get-Partition, Get-Disk等命令?

不清楚,你自己试一下
回复

使用道具 举报

29#
发表于 5 天前 | 只看该作者
placeholder 发表于 2024-9-15 19:25
不清楚,你自己试一下

我估计还是不支持,巨硬故意的

点评

绝对不支持, PS7是跨平台优化, 磁盘那些操作用的还是PS5的模块, 所以只能想办法找到磁盘模块的相关的依赖, 移植到Win7  详情 回复 发表于 4 天前
回复

使用道具 举报

30#
发表于 5 天前 | 只看该作者
本帖最后由 S_ingularity 于 2024-9-15 23:00 编辑

有没有可能是hyperv没安装的原因呢

点评

估计应该没关系, 我把win10的PS5磁盘模块导出, 然后再导入到Win7PS5中, 会报错: 无效命名空间, PowerShell 无法访问 `Get-Partition` 所需的 WMI 命名空间  详情 回复 发表于 4 天前
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-9-20 06:08

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表