我经常让客户请求更改属性,例如服务器场中所有现有站点上所有文档库的版本历史记录设置。
到目前为止,我能够想到的最好的解决方案是在Powershell中编写脚本,在运行之前测试脚本,然后祈祷我没有忽略一些关键的东西。 有更好更安全的方式吗?
答案 0 :(得分:3)
我个人的“自定义工作流程”如下:
它比“在prod服务器上运行脚本”重得多,但是如果你正在寻找一种“更好”的方式来推动自定义,那么这是在SharePoint中执行它的正确方法。 SharePoint的功能和解决方案框架专为此方案而设计。
是的,我使用PowerShell进行原型设计/对象搜寻。
编辑:我没有提及,但您需要制定灾难恢复计划来恢复所有自定义设置。这是它开始变得疯狂的地方,具体取决于您所做的自定义。在上面的示例中,内容数据库存储数据,但其他自定义项在DR情况下并不容易还原,特别是在配置数据库中存储SSP和服务器场级别自定义项,或者您已修改了Web .config或IIS元数据库。
答案 1 :(得分:1)
好吧,如果你想自动化某些东西,PowerShell可能是最好的方法之一。您可以在尝试之前查看正在运行的实际命令(与编译后无法达到峰值的内容相比)。
根据PowerShell脚本的作用,您通常可以使用简单的参数,如-WhatIf和-Confirm,用于对系统有影响的cmdlet(删除,移动等)。
-WhatIf提供:输出,指示在运行命令时通常会执行的操作。您可以看到将要采取的行动。
- 确认:在实际采取行动之前,基本上会问你“你确定要做xyz”。
使用-WhatIf,如果您的所有信息都滚出屏幕,您只需使用Start-Transcript启动控制台会话日志,然后您可以查看该日志以仔细查看本应采取的所有操作。这样,您可以在运行它们之前确保命令正确。
答案 2 :(得分:0)
首先进行内容备份,然后运行脚本。
通过stsadm或数据库进行备份。
不适用于任何中央管理员更改。