网管小贾 / sysadm.cc
为了将旧服务器上的文件夹精准无误地迁移到新服务器上,打算通过微软自家的 Windows Server 迁移工具 来实现。
旧服务器端,我通过服务管理器添加了迁移工具的功能,之后却发现这东东一点就一闪而过,无论如何也打不开。
反正新服务器这边也是要安装迁移工具的,所以转头先看看新服务器端有没有问题,结果安装打开一切正常!
根据官方相关的迁移说明文档,整个迁移动作必须要在迁移工具下执行,自己开个命令窗口是无效的。
好吧,看来这系统又在搞事情啊!
迁移环境服务器操作系统
旧服务器:Windows Server 2012 R2
新服务器:Windows Server 2016
回到旧服务器这边,无论我是在开始菜单中点击,还是直接找到文件夹中双击执行,这个迁移工具打死都是一闪而过,之后就啥也没有了。
还有,即使你以管理员身体运行,结果一样。
好歹让我看看长啥样啊,换了个方式,先打开命令提示符窗口,然后手输执行看看。
PowerShell.exe -PSConsoleFile %SystemRoot%\System32\ServerMigrationTools\ServerMigration.psc1
还是执行不起来,但是很奇迹地出现了错误提示。
如果系统是英文版的,那么应该就有像下面这样的错误。
意思都是一样的,说什么 PowerShell 初始化错误云云......
Internal Windows PowerShell error. COM initialization failed while reading Windows PowerShell console file with error 80010106.
看不太懂,但有了具体的错误提示,至少咱离真相近了一步,上网搜吧。
找来找去都不知道这玩意儿是个啥,最后发现有位大神指出其实只要这样做就行了。
相关帖子链接:
https://social.technet.microsoft.com/Forums/lync/en-US/ecf0a798-46d5-4925-8174-4f47dd5d332e/cannot-open-any-powershell-console-psc1-files?forum=winserverpowershell
从图中也可以看出,虽然最初的问题现象描述并不相同,但最终都指向了 PowerShell 运行产生了初始化错误 80010106 。
那么这个错误怎么解决呢?
说实话,我看完大神寥寥数语后仍是一头雾水,好像说什么把最近项目显示数量从2变成10就行了。
这都什么跟什么啊,真是青蛙跳井--不懂不懂不懂!
再找找吧!
直到找到了另一个帖子:
https://grzegorzkulikowski.info/2011/05/16/internal-windows-powershell-error-com-initialization-failed-while-reading-windows-powershell-console-file-with-error-80010106/
好像有点那个意思了,大神似乎是说在开始菜单选项卡里有个最近打开项目什么的......
靠想像太难了,动手找找吧,经过一番肉搏,终于被我找到了这个说不上来有啥用的东西。
其实就在 控制面板 > 外观 > 任务栏和导航 (我这儿是 Windows Server 2012 ,其他系统可能不同)。
随后真的就找到了他们所说的 最近打开的项目 。
我最初打开它的时候,并没有勾选任何项目,而且显示项目数也为 0 。
于是我将第二项打上勾,并将显示项目数设定为 10 ,确定。
然后再尝试打开 Windows Server 迁移工具 ,嘿,奇迹出现了,PowerShell 居然就好使了!
我去,这是什么奇葩问题啊!
我试着将那第二项的勾去掉,显示项目数默认变为 0 ,确定后再试着打开 Windows Server 迁移工具 ,居然仍然好使!
我还在怀疑这个故障无法复现时,随手将第二项打上勾,显示项目数再变成 0 后,发现故障又回来了!
这下明白了,这个问题应该与这个显示项目数有关。
至此,这个奇葩问题暂时得到了解决。
至于为什么会是这样,这两者之间到底是什么关系,我功力不够一时半会儿还真是无法搞懂。
不过,小伙伴们,如果你遇到了 PowerShell 在执行时遇到 80010106 错误时,不妨按本文尝试一下。
希望能帮到你们,别忘记关注我并点赞分享哦!
网管小贾 / sysadm.cc