设为首页 收藏本站
查看: 1316|回复: 0

SharePoint 2010 PowerShell (1)入门介绍

[复制链接]

尚未签到

发表于 2015-9-28 14:14:24 | 显示全部楼层 |阅读模式

Windows PowerShell 是一个可供管理员完全访问适用的应用程序编程接口 (API) 的命令行脚本工具,并且对于直接与 SharePoint 2010 产品 交互以对 Web 应用程序、网站集、网站、列表等进行操作的功能,能够解除锁定。另外,管理员可以编写 cmdlet(发音为“command-let”)的脚本,从而改善之前产品版本的体验。

Windows PowerShell 2.0 是安装 SharePoint 2010 产品 的必备软件。如有必要,您在运行 Microsoft SharePoint 产品准备工具时就会安装它。默认情况下,Windows PowerShell 位于以下路径:<%SystemRoot%>/System32/WindowsPowerShell/v1.0/PowerShell.exe。

访问 SharePoint 2010 产品的 Windows PowerShell
完成 SharePoint 2010 产品安装后,适用的 Windows PowerShell cmdlet 可通过 SharePoint 2010 Management Shell 或 Windows PowerShell 控制台访问。通过命令行管理程序,您可以管理 SharePoint 2010 产品 的所有方面。您可以创建新的网站集、Web 应用程序、用户帐户、服务应用程序、代理等。来自命令行管理程序的命令将基于 Microsoft .NET 平台输出 SharePoint 对象。这些对象可用作后续命令的输入对象,或者存储在本地变量中供以后使用。

使用命令行管理程序,您不必注册包含 cmdlet 的管理单元。注册适用于 SharePoint 2010 cmdlet 的 Microsoft.SharePoint.PowerShell.dll 模块是自动完成的,由位于 %CommonProgramFiles%/Microsoft Shared/Web Server Extensions/14/Config/PowerShell/Registration 下的 SharePoint.ps1 文件中的 Add-PSSnapin Microsoft.SharePoint.PowerShell 行执行。如果选择使用 Windows PowerShell 控制台,则必须手动注册管理单元。


$ver = $host | select version
if ($ver.Version.Major -gt 1) {$Host.Runspace.ThreadOptions = "ReuseThread"}
Add-PsSnapin Microsoft.SharePoint.PowerShell
Set-location $home


以上命令式将SharePoint的管理命令注册到Windows PowerShell中。


SharePoint 2010 命令


在SharePoint 2010 PowerShell管理单元中包含500条以上的命令,你可以用它来完成很多管理任务。我们可以通过Get-Command获取到的命令列表。单Get—Command获取到是所有的Windows PowerShell的所有基础命令,例如:功能,别名,过滤器,脚本和应用程序。在所有的命令中开头字母为SP的是SharePoint所应用的命令。如果要知道SharePoint命令有那些,我们可以通过以下的命令获取到。


PS > Get-Command -noun SP*


下图中标示的就是利用命令获取到的命令信息。

DSC0000.gif

  
如果使用SP*这样的命令获取到的信息,非常的多。我们可以在细化以下我们的命令。例如使用 SPSite


PS > Get-Command -Noun SPSite


获取到结果:

DSC0001.gif


使用SharePoint PowerShell 命令


让我们来看一下 Get-SPSite 命令是如何使用,尝试在SharePoint PowerShell使用这个命令,看一下命令返回的信息。


PS > Get-SPSite
Url
---
http://spservername


这个命令会返回所有网站集的Url,但如果我们需要了解单独一个网站集的更多的信息,该如何做呢。

我们可以利用Select-Object命令来显示额外的属性信息。例如:我们可以使用 –Identity 来指定一个网站集的名称,然后利用 Select-Object 来获取这个网站集的一些信息


PS > Get-SPSite -Identity http://localhost | Select-Object -Property Url, Zone, Port

DSC0002.gif

当然我也可以通过命令来改变网站集的一些特定属性,首先让我们来学习如何利用Set-SPSite命令向网站集中添加网站集的第二管理员。


PS > Get-SPSite -Identity http://SPServer | Set-SPSite -SecondaryOwnerAlias domain/user


如果我们再一次使用Select-Object命令就可以来显是SecondaryContact这个属性信息。让我们领用这个命令来查看一下刚刚添加的第二管理员的名字。


PS > Get-SPSite -Identity http://localhost  | Select-Objec SecondaryContact

DSC0003.gif

  
你可以将 SPSite 作为一个对象保存在一个变量中,例如:


PS > $spSite = Get-SPSite -Identity http://SPServer


这样我们就可以向这个变量中添加它的第二管理员了,我们也可以通Microsoft.SharePoint.SPUser 来返回一个网站中已有的用户来做为网站集的第二管理员,我们可以使用一下的命令:


PS > $spSite = Get-SPSite -Identity http://SPServer
PS > $spSite.SecondaryContact = (Get-SPUser -Web http://SPServer -Identity domain/user)


如果我们需要添加一个在AD中的用户,但并不在网站集中的用户,成为网站集的第二管理员。我们需要先通过New-SPUser命令添加一个用户到网站集中,在利用命令将其添加为网站第二管理员。


PS > $spUser = New-SPUser -Web http://SPServer -UserAlias domain/newuser
PS > $spSite.SecondaryContact = $spUser


当我们在PowerShell中初始化了一个对象的时候,就一定要使用Dispose()方法来释放这个内存空间。


PS > $spSite.Dispose()


为什么我们要在使用Dispose()命令呢?因为,类似SPWebSPSiteSPSiteAdministration对象使用时能占用大量的内存资源,所以我们利用PowerShell命令可以有效的降低内存的占用。在通常情况下,我们通过使用命令Get-SPSite来初始化一个对象,在调用结束以后会自动的释放资源。但这是这样不会将对象保存在一个变量中。在初始化一个对象时,我们可以使用Dispose()方法来释放内存,也可以使用Start-SPAssignmentStop- SPAssignment 命令来创建和释放存储区域。我们可以在PowerShell 中 使用 Get-Help Start-SPAssignmentGet-Help Stop-SPAssignment 命令来查看 它的描述信息和使用的方法。






运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-120088-1-1.html 上篇帖子: SharePoint 使用PowerShell恢复误删的网站集 下篇帖子: SharePoint 2013 使用PowerShell创建State Service
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

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