我正在尝试将SharePoint的PnP联机命令安装到PowerShell上,但以下命令似乎不起作用;
Install-Module -name SharePointPnPPowerShellOnline -scope CurrentUser
该命令似乎运行良好,没有出现任何错误,但当我尝试运行本应安装的命令时,我收到一个错误,称无法找到命令。
connect-pnponline : The term 'connect-pnponline' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of
the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:1
+ connect-pnponline
+ ~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (connect-pnponline:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
我已经看了所有的模块文件夹,模块不在其中任何一个。我已经比较了我的环境路径与同事谁有这个工作,他们是相同的。
有人知道是什么引起的吗?
4条答案
按热度按时间zu0ti5jz1#
这是由于模块存储在OneDrive上造成的。默认情况下,我的模块路径设置为“%USERPROFILE%\Documents\WindowsPowerShell\Modules”,但由于安装了OneDrive,因此我的路径更改为“%USERPROFILE%\OneDrive\Documents\WindowsPowerShell\Modules”。
为了解决这个问题,我去了文档〉Windows Powershell〉模块并复制了链接。然后,通过开始菜单,我去了“编辑系统环境变量”〉高级〉环境变量,突出显示PSModulePath并单击编辑。在这个窗口中,我单击新建并粘贴了上面找到的链接。这解决了我遇到的问题。
db2dz4w82#
模块可能未导入。您应该能够执行
Import-Module SharePointPnPPowerShellOnline
,它应该导入您的模块,或者在由于某种原因无法导入时给予您一个错误。要解决非自动加载问题,请检查以下各项:
$PSModuleAutoLoadingPreference
,并且未设置为None
或0
SharePointPnPPowerShellOnline
实现了SharePoint提供程序,所以我敢打赌情况就是这样。ruarlubt3#
我有相同的症状
The term '' is not recognized...
,但不同的修复。当我在Windows Powershell中检查
$ENV:PSModulePath
时(这个问题在pwsh
Powershell内核中不存在),我看到预期的文件夹C:\Users\cwalsh\OneDrive\Documents\WindowsPowerShell\Modules
丢失:相反,
$ENV:PSModulePath
是;;C:\Program Files\WindowsPowerShell\Modules;C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules\
根本原因是我在both用户级定义了
PSModulePath
env变量;
(这 * 不是 * 我的另一台PC的设置方式),在系统级定义了%SystemRoot%\system32\WindowsPowerShell\v1.0\Modules\
。我删除了用户级的
PSModulePath
环境变量,现在在一个新的进程中,模块可以按预期工作。mrzz3bfm4#
Onedrive同步搞砸了MgGraph身份验证的文件。其中一个子文件夹同步被破坏,他的文件被删除,因为“云”不知道它。不得不重新安装...需要改变文档的默认位置,如果你有一个驱动器这么傻