Сохранение файла на локальный диск из поля varbinary базы MSSQL
[info]yu_xuan
[string]$server = "serverName"
[string]$database = "databaseName"
[string]$connectionString = "Data Source=$server;Initial Catalog=$database;Integrated Security=true;"
[string]$fileNameField = "filename"
[string]$fileDataField = "filedata"
[string]$savePath = "c:\temp\"
[string]$query = "SELECT [filename], [filedata] FROM [Table] WHERE [filename] = 'test.docx'"

$cn = New-Object system.data.SqlClient.SqlConnection($connectionString);
$cn.Open();
$cmd = New-Object System.Data.SqlClient.SqlCommand ($query, $cn)
$reader = $cmd.ExecuteReader();

while ($reader.Read())
{

    $fileName = [string]$reader[$fileNameField];
    $fileData = [byte[]]$reader[$fileDataField];
    [System.IO.File]::WriteAllBytes((Join-Path $savePath $fileName), $fileData);
    $fileName;
}
Метки: ,

stop_pending service
[info]yu_xuan
Если на сервере 2008 служба повисла в статусе stopping и не реагирует ни на какие действия, а сам сервер перезагружать нельзя, есть возможность поглядеть PID процесса службы и убить процесс. Есть шанс, что после этого служба сможет нормально стартовать.

Выполнив команду sc queryex <service name>, можно получить PID службы:



Как видно на скриншоте, state у службы – STOP_PENDING.
Теперь, зная PID, можно убить службу командой taskkill /F /PID <Number>:



После этого можно стартовать службу.

Конечно, это не самый красивый план действий, но, в некоторых критичных ситуациях, может выручить.

Метки:

Sharepoint 2010. How to change URL for Topology Service Application
[info]yu_xuan
Серверам Sharepoint 2010 были заменены имена. В принципе – это вполне стандартная процедура, не предвещающая, что будут какие-то проблемы. Я совсем не ожидал, что наткнусь на подводный камень с URL Topology Service Application.

Когда попытался подключить службу поиска к другой ферме, оказалось, что сделать это не получается, потому как для Application Discovery and Load Balancer Service Application URL остался старым.

Что делать?

Первый пришедший в голову вариант – использовать командлет Set-SPTopologyServiceApplication с параметром -LoadBalancerUrl. Однако, несмотря на то, что такой параметр существует, обновить URL он не позволяет. Дело в том, что свойство Uri у Topology Service Application – read only:



Один специалист предложил гениальный (опробованный им лично) план действий: нужно просто удалить сервер из фермы, что удалит все сайты на нем, в том числе и веб сервис topology, а затем ввести этот сервер обратно в ферму, что создаст сайты заново и у topology будет установлен нужный URL.

Ничего не скажешь – радикально.

Понятно, что проделай я такое, меня бы ждала радость переконфигурирования сервисов на этом сервере.

И, все-таки, работающий вариант, позволяющий поменять URL для Application Discovery and Load Balancer Service, был найден.

Как оказалось, для замены URL можно использовать Set-SPTopologyServiceApplication, однако, не совсем явно, что делать это надо вот таким образом:

$topology = Get-SPTopologyServiceApplication
$updateTopology = Set-SPTopologyServiceApplication -Identity $topology -LoadBalancerUrl "https://newservername:32844/Topology/topology.svc"
$updateTopology.Update()
Метки:

February CU 2012 для Sharepoint 2010
[info]yu_xuan
February CU для SharePoint 2007.

Это post-SP1 hotfix, т.е. для установки февральского CU на вашей ферме уже должен стоять SP1.
  • KB 2597132 – Sharepoint Foundation 2010
  • KB 2597150 – Sharepoint Server 2010
  • KB 2597152 – Sharepoint Server 2010 with Project Server
Ссылки для скачивания:

February CU 2012 для Sharepoint 2007
[info]yu_xuan
February CU для SharePoint 2007.

Это post-SP3 hotfix, т.е. для установки февральского CU на вашей ферме уже должен стоять SP3.Ссылки для скачивания:

SOAP запрос из powershell
[info]yu_xuan
Скрипт отправляет XML-запрос сервису WCF и получает от него XML-ответ.

$soapRequest = [xml]@"
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> 
  <s:Body>
    <GetInfo xmlns="http://schemas.domain.com/services/someservice">
      <counter>0</counter> 
    </GetInfo>
  </s:Body>
</s:Envelope> 
"@
$URL = "https://someurl.domain.ru/someservice.svc"
$soapWebRequest = [System.Net.WebRequest]::Create($URL) $soapWebRequest.Headers.Add("SOAPAction","`"http://schemas.domain.com/services/someservice/name/GetInfo`"")
$soapWebRequest.ContentType = "text/xml;charset=`"utf-8`""
$soapWebRequest.Accept = "text/xml"
$soapWebRequest.Method = "POST"
$soapWebRequest.UseDefaultCredentials = $true
$requestStream = $soapWebRequest.GetRequestStream()
$soapRequest.Save($requestStream)
$requestStream.Close()
$response = $soapWebRequest.GetResponse()
$responseStream = $response.GetResponseStream()
$soapReader = [System.IO.StreamReader]($responseStream)
$returnXML = [xml]$soapReader.ReadToEnd()
$responseStream.Close()
$returnXML | Export-Clixml 'c:\temp\temp.xml'
Метки: , ,

Удаление всех версий Item‘а
[info]yu_xuan
param ( [string]$site,
[
int]$itemId,
[
string]$listName)

[
Void][Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")
$spSite = New-Object Microsoft.SharePoint.SPSite($site)
$openWeb = $spSite.OpenWeb()
$list = $openWeb.Lists[$listName]
$versions = [Microsoft.Sharepoint.SPListItemVersionCollection]($list.GetItemById($itemId)).Versions
$versions.DeleteAll()
(
$list.GetItemById($itemId)).Update()
$openWeb.Dispose()
$spSite.Dispose()
Метки: ,

Декабрьский CU для SharePoint 2007
[info]yu_xuan
Теперь December CU и для SharePoint 2007.

Это post-SP3 hotfix, т.е. для установки декабрьского CU на вашей ферме уже должен стоять SP3.Ссылки для скачивания:

Декабрьский CU для SharePoint 2010
[info]yu_xuan
Microsoft зарелизила December CU для SharePoint 2010.
 
Он представляет собой post-SP1 hotfix, т.е. для установки декабрьского CU на вашей ферме уже должен стоять SP1.
  • KB 2597058 - SharePoint Foundation 2010
  • KB 2597014 - SharePoint Server 2010
  • KB 2597015 - SharePoint Server 2010 with Project Server
Ссылки для скачивания:

The Windows PowerShell Command Builder for SharePoint 2010
[info]yu_xuan
Очень интересная и удобная утилита The Windows PowerShell Command Builder for SharePoint 2010 Products and Office 365


Вы читаете журнал [info]yu_xuan