<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="https://www.w3.org/2005/Atom" xmlns:sy="https://purl.org/rss/1.0/modules/syndication/" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:wfw="https://wellformedweb.org/CommentAPI/" xmlns:slash="https://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>Lance’s SharePoint Garage</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/jechoi/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/jechoi/feed.xml</link>
    <description>Just another Technet site</description>
    <lastBuildDate>Tue, 16 Apr 2019 06:10:33 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Count pages in onenote using Powershell</title>
      <link>https://docs.microsoft.com/archive/blogs/jechoi/count-pages-in-onenote-using-powershell</link>
      <pubDate>Thu, 16 Feb 2017 20:10:41 GMT</pubDate>
      <dc:creator><![CDATA[Jeongwoo Choi]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/jechoi/?p=325</guid>
      <description><![CDATA[&nbsp; [필요 사항]  쉐어포인트 서버에 있는 원노트에 페이지 수가 몇개인지 알아야 할 경우가 있습니다  &nbsp;  [해결 방법]  쉐어포인트 서버에 업로드 된 원노트의...]]></description>
      <content:encoded><![CDATA[<p>&nbsp;</p> <p><b>[필요 사항</b><b>]</b>  <p>쉐어포인트 서버에 있는 원노트에 페이지 수가 몇개인지 알아야 할 경우가 있습니다  <p>&nbsp; <p><b></b> <p><b>[</b><b>해결 방법]</b>  <p>쉐어포인트 서버에 업로드 된 원노트의 내부 구조에 접근할 수 있는 Server side 방법은 존재하지 않습니다. </p> <p>물론 서버에서 one 파일을 로컬 드라이브로 내려 받아 코드로 접근하여 어찌어찌 하는 방법이 있을 수 있겠지만… 그런 방식은 논외로 하겠습니다.</p> <p>&nbsp;</p> <p>가장 쉽고 빠르게 구현가능한 방법은 원노트 클라이언트가 설치된 PC 에서 원노트 Application interface 를 활용하는 방법이 유일합니다.  <p><a href="https://msdn.microsoft.com/en-us/library/office/jj680120.aspx">https://msdn.microsoft.com/en-us/library/office/jj680120.aspx</a>  <p>위 링크에 제공하고 있는 API를 활용해 C# 어플리케이션을 개발하는 것이 가능합니다.  <p>&nbsp;</p> <p>위 인터페이스를 활용하여 간단한 파워쉘 스크립트를 작성하였으니 참고 부탁 드립니다.</p> <p>아래의 파워쉘 스크립트를 통해 현재 PC 에 사용중인 원노트의 페이지 수를 출력할 수 있습니다. </p> <p>페이지 수를 알고자 하는 원노트 파일을 PC 에 동기화 하신 후 실행하시면 됩니다.</p> <p>&nbsp;</p> <p> <table cellspacing="0" cellpadding="0" border="0"> <tbody> <tr> <td valign="top" width="828"> <p>&nbsp;</p><pre style="background: #ffffff;color: #000000"><span style="font-weight: bold;color: #0000ff">[Reflection.Assembly]</span><span style="font-weight: bold;color: #0000ff">::</span><span style="color: #005fd2">LoadWithPartialName</span><span style="color: #0000ff">(</span><span style="color: #0000e6">"</span><span style="color: #0000e6">System.Xml.Linq</span><span style="color: #0000e6">"</span><span style="color: #0000ff">)</span> <span style="font-weight: bold;color: #000088">|</span> <span style="color: #005fd2">Out-Null</span> 
<span style="font-weight: bold;color: #800080">$onenoteApp</span> <span style="font-weight: bold;color: #0000ff">=</span> <span style="color: #005fd2">New-Object</span> <span style="color: #074726">-ComObject</span> <span style="color: #0000e6">OneNote.Application</span>
 
<span style="color: #008000"># init empty Variable for as buffer the [Ref] output action</span>
<span style="font-weight: bold;color: #0000ff">[String]</span><span style="font-weight: bold;color: #800080">$notebookXml</span> <span style="font-weight: bold;color: #0000ff">=</span> <span style="color: #0000e6">'</span><span style="color: #0000e6">'</span>
 
<span style="color: #008000"># Get OneNote Pages hierarchy</span>
<span style="font-weight: bold;color: #800080">$onenoteApp</span><span style="font-weight: bold;color: #0000ff">.</span><span style="color: #005fd2">GetHierarchy</span><span style="color: #0000ff">(</span><span style="font-weight: bold;color: #808080">$null</span><span style="font-weight: bold;color: #0000ff">,</span> <span style="font-weight: bold;color: #0000ff">[Microsoft.Office.Interop.OneNote.HierarchyScope]</span><span style="font-weight: bold;color: #0000ff">::</span><span style="color: #005fd2">hsPages</span><span style="font-weight: bold;color: #0000ff">,</span> <span style="font-weight: bold;color: #0000ff">[Ref]</span><span style="font-weight: bold;color: #800080">$notebookXml</span><span style="color: #0000ff">)</span>
 
<span style="color: #008000"># Create the System.Xml.Linq.XDocument from an XML Text</span>
<span style="color: #008000"># alternatively you can use the [System.Xml.Linq.XDocument]::Load('C:\temp\myXML.xml') Methode to load from a XML File</span>
<span style="font-weight: bold;color: #800080">$doc</span> <span style="font-weight: bold;color: #0000ff">=</span> <span style="font-weight: bold;color: #0000ff">[System.Xml.Linq.XDocument]</span><span style="font-weight: bold;color: #0000ff">::</span><span style="color: #005fd2">Parse</span><span style="color: #0000ff">(</span><span style="font-weight: bold;color: #800080">$notebookXml</span><span style="color: #0000ff">)</span>
 
<span style="color: #008000"># Get OneNote XML namespace</span>
<span style="font-weight: bold;color: #800080">$ns</span> <span style="font-weight: bold;color: #0000ff">=</span> <span style="font-weight: bold;color: #800080">$doc</span><span style="font-weight: bold;color: #0000ff">.</span><span style="color: #005fd2">Root</span><span style="font-weight: bold;color: #0000ff">.</span><span style="color: #005fd2">Name</span><span style="font-weight: bold;color: #0000ff">.</span><span style="color: #005fd2">Namespace</span>

<span style="font-weight: bold;color: #800080">$pagecount_notebook</span> <span style="font-weight: bold;color: #0000ff">=</span> <span style="color: #800000">0</span>
<span style="font-weight: bold;color: #800080">$pagecount_section</span> <span style="font-weight: bold;color: #0000ff">=</span> <span style="color: #800000">0</span> 

<span style="color: #008000"># enumerate all Notebook Nodes from XML XDocument</span>
<span style="font-weight: bold;color: #800080">$doc</span><span style="font-weight: bold;color: #0000ff">.</span><span style="color: #005fd2">Descendants</span><span style="color: #0000ff">(</span><span style="font-weight: bold;color: #800080">$ns</span> <span style="font-weight: bold;color: #0000ff">+</span> <span style="color: #0000e6">"</span><span style="color: #0000e6">Notebook</span><span style="color: #0000e6">"</span><span style="color: #0000ff">)</span> <span style="font-weight: bold;color: #000088">|</span> <span style="color: #005fd2">ForEach-Object</span> <span style="color: #0000ff">{</span>
    
    <span style="color: #008000"># output name of current OneNote Notebook</span>
    <span style="color: #0000e6">"</span><span style="color: #0000e6">Notebook name: </span><span style="color: #0000ff">$(</span><span style="color: #007997">$_</span><span style="font-weight: bold;color: #0000ff">.</span><span style="color: #005fd2">Attribute</span><span style="color: #0000ff">(</span><span style="color: #0000e6">"</span><span style="color: #0000e6">name</span><span style="color: #0000e6">"</span><span style="color: #0000ff">)</span><span style="font-weight: bold;color: #0000ff">.</span><span style="color: #005fd2">Value</span><span style="color: #0000ff">)</span><span style="color: #0000e6">"</span>
                
        <span style="color: #008000"># enumerate all Section Nodes from Notebook Node</span>
        <span style="color: #007997">$_</span><span style="font-weight: bold;color: #0000ff">.</span><span style="color: #005fd2">Descendants</span><span style="color: #0000ff">(</span><span style="font-weight: bold;color: #800080">$ns</span> <span style="font-weight: bold;color: #0000ff">+</span> <span style="color: #0000e6">"</span><span style="color: #0000e6">Section</span><span style="color: #0000e6">"</span><span style="color: #0000ff">)</span> <span style="font-weight: bold;color: #000088">|</span> <span style="color: #005fd2">ForEach-Object</span> <span style="color: #0000ff">{</span>
           
           <span style="color: #008000"># output name of current OneNote Section</span>
           <span style="color: #008000">#"    Section: $($_.Attribute("name").Value)"</span>
           
           <span style="color: #008000"># enumerate all Page Nodes from Section Node</span>
           <span style="color: #007997">$_</span><span style="font-weight: bold;color: #0000ff">.</span><span style="color: #005fd2">Descendants</span><span style="color: #0000ff">(</span><span style="font-weight: bold;color: #800080">$ns</span> <span style="font-weight: bold;color: #0000ff">+</span> <span style="color: #0000e6">"</span><span style="color: #0000e6">Page</span><span style="color: #0000e6">"</span><span style="color: #0000ff">)</span>  <span style="font-weight: bold;color: #000088">|</span> <span style="color: #005fd2">ForEach-Object</span> <span style="color: #0000ff">{</span>
                
                <span style="color: #008000"># output name of current OneNote Page</span>
                <span style="color: #008000">#"        Page: $($_.Attribute("name").Value)"</span>
                <span style="font-weight: bold;color: #800080">$pagecount_notebook</span> <span style="font-weight: bold;color: #0000ff">=</span> <span style="font-weight: bold;color: #800080">$pagecount_notebook</span> <span style="font-weight: bold;color: #0000ff">+</span> <span style="color: #800000">1</span> 
                <span style="font-weight: bold;color: #800080">$pagecount_section</span> <span style="font-weight: bold;color: #0000ff">=</span> <span style="font-weight: bold;color: #800080">$pagecount_section</span> <span style="font-weight: bold;color: #0000ff">+</span> <span style="color: #800000">1</span>
           <span style="color: #0000ff">}</span> 
           <span style="color: #0000e6">"</span><span style="color: #0000e6">    ## Section: </span><span style="color: #0000ff">$(</span><span style="color: #007997">$_</span><span style="font-weight: bold;color: #0000ff">.</span><span style="color: #005fd2">Attribute</span><span style="color: #0000ff">(</span><span style="color: #0000e6">"</span><span style="color: #0000e6">name</span><span style="color: #0000e6">"</span><span style="color: #0000ff">)</span><span style="font-weight: bold;color: #0000ff">.</span><span style="color: #005fd2">Value</span><span style="color: #0000ff">)</span><span style="color: #0000e6"> ==&gt; </span><span style="color: #0000e6">"</span> <span style="font-weight: bold;color: #0000ff">+</span> <span style="font-weight: bold;color: #800080">$pagecount_section</span> <span style="font-weight: bold;color: #0000ff">+</span> <span style="color: #0000e6">"</span><span style="color: #0000e6"> pages</span><span style="color: #0000e6">"</span>
            <span style="font-weight: bold;color: #800080">$pagecount_section</span> <span style="font-weight: bold;color: #0000ff">=</span> <span style="color: #800000">0</span>
        <span style="color: #0000ff">}</span>
    <span style="color: #0000e6">"</span><span style="color: #0000e6">##Notebook name: </span><span style="color: #0000ff">$(</span><span style="color: #007997">$_</span><span style="font-weight: bold;color: #0000ff">.</span><span style="color: #005fd2">Attribute</span><span style="color: #0000ff">(</span><span style="color: #0000e6">"</span><span style="color: #0000e6">name</span><span style="color: #0000e6">"</span><span style="color: #0000ff">)</span><span style="font-weight: bold;color: #0000ff">.</span><span style="color: #005fd2">Value</span><span style="color: #0000ff">)</span><span style="color: #0000e6"> ==&gt; </span><span style="color: #0000e6">"</span> <span style="font-weight: bold;color: #0000ff">+</span> <span style="font-weight: bold;color: #800080">$pagecount_notebook</span> <span style="font-weight: bold;color: #0000ff">+</span> <span style="color: #0000e6">"</span><span style="color: #0000e6"> pages</span><span style="color: #0000e6">"</span>
    <span style="font-weight: bold;color: #800080">$pagecount_notebook</span> <span style="font-weight: bold;color: #0000ff">=</span> <span style="color: #800000">0</span>
    <span style="color: #0000e6">"</span><span style="color: #0000e6">---------------------------------------------------</span><span style="color: #0000e6">"</span>
<span style="color: #0000ff">}</span>
</pre></td></tr>
<tr>
<td valign="top" width="828">
<p>위 스크립트의 수행결과는 아래와 같이 출력됩니다 
<p>Notebook name: Provisioning - Tenant - Site 
<p>&nbsp;&nbsp;&nbsp; ## Section: Deep Dives ==&gt; 5 pages 
<p>&nbsp;&nbsp;&nbsp; ## Section: Troubleshooting Guide ==&gt; 26 pages 
<p>##Notebook name: Provisioning - Tenant - Site ==&gt; 31 pages 
<p>--------------------------------------------------- 
<p>Notebook name: Yammerkorea101 
<p>&nbsp;&nbsp;&nbsp; ## Section: Yammer Support 101 ==&gt; 12 pages 
<p>&nbsp;&nbsp;&nbsp; ## Section: New Section 1 ==&gt; 1 pages 
<p>##Notebook name: Yammerkorea101 ==&gt; 13 pages 
<p>--------------------------------------------------- </p></td></tr></tbody></table></p>
<p>&nbsp;</p>
<p>만약 SharePoint Online 을 사용하신다면, 아래 링크에서 제공하는 Office 365용 onenote api를 사용하여 원하시는 기능을 구현하는 것이 가능합니다.</p>
<p><a href="https://msdn.microsoft.com/ko-kr/office/office365/howto/onenote-tutorial">https://msdn.microsoft.com/ko-kr/office/office365/howto/onenote-tutorial</a> 
<p>&nbsp; <p><b></b>
<p><b>[</b><b>주의 사항]</b> 
<p>본 블로그에 게시된 정보의 내용 (첨부 문서, 링크 등)은 작성일 현재 기준이며 예고없이 변경 될 수 있습니다. 
<p>또한, 참고용으로만 제공됨으로 Microsoft에 책임이 없음을 알려 드립니다. 반드시 적용 전 충분한 테스트를 진행하시기 바랍니다.]]></content:encoded>
    </item>
    <item>
      <title>Open Live Writer Test</title>
      <link>https://docs.microsoft.com/archive/blogs/jechoi/open-live-writer-test</link>
      <pubDate>Thu, 16 Feb 2017 19:51:14 GMT</pubDate>
      <dc:creator><![CDATA[Jeongwoo Choi]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/jechoi/?p=315</guid>
      <description><![CDATA[Open Live Writer TestOpen Live Writer TestOpen Live Writer TestOpen Live Writer TestOpen Live Writer...]]></description>
      <content:encoded><![CDATA[<p>Open Live Writer TestOpen Live Writer TestOpen Live Writer TestOpen Live Writer TestOpen Live Writer TestOpen Live Writer TestOpen Live Writer TestOpen Live Writer TestOpen Live Writer TestOpen Live Writer TestOpen Live Writer TestOpen Live Writer TestOpen Live Writer TestOpen Live Writer TestOpen Live Writer TestOpen Live Writer TestOpen Live Writer TestOpen Live Writer TestOpen Live Writer Test</p>]]></content:encoded>
    </item>
    <item>
      <title>쉐어포인트 2016 검색</title>
      <link>https://docs.microsoft.com/archive/blogs/jechoi/%EC%89%90%EC%96%B4%ED%8F%AC%EC%9D%B8%ED%8A%B8-2016-%EA%B2%80%EC%83%89</link>
      <pubDate>Thu, 09 Feb 2017 22:19:24 GMT</pubDate>
      <dc:creator><![CDATA[Jeongwoo Choi]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/jechoi/?p=295</guid>
      <description><![CDATA[https://techcommunity.microsoft.com/t5/SharePoint/Search-Architectures-for-SharePoint-Server-2016/td...]]></description>
      <content:encoded><![CDATA[https://techcommunity.microsoft.com/t5/SharePoint/Search-Architectures-for-SharePoint-Server-2016/td-p/45058]]></content:encoded>
    </item>
    <item>
      <title>쉐어포인트 온라인</title>
      <link>https://docs.microsoft.com/archive/blogs/jechoi/%EC%89%90%EC%96%B4%ED%8F%AC%EC%9D%B8%ED%8A%B8-%EC%98%A8%EB%9D%BC%EC%9D%B8</link>
      <pubDate>Sun, 29 Jan 2017 22:57:11 GMT</pubDate>
      <dc:creator><![CDATA[Jeongwoo Choi]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/jechoi/?p=285</guid>
      <description><![CDATA[https://techcommunity.microsoft.com/t5/Microsoft-Ignite-Content/BRK3031-Peek-behind-the-scenes-of-ru...]]></description>
      <content:encoded><![CDATA[https://techcommunity.microsoft.com/t5/Microsoft-Ignite-Content/BRK3031-Peek-behind-the-scenes-of-running-and-building/m-p/10364/highlight/true#M378]]></content:encoded>
    </item>
    <item>
      <title>Sharepoint 2016 2017/01 update</title>
      <link>https://docs.microsoft.com/archive/blogs/jechoi/sharepoint-2016-201701-update</link>
      <pubDate>Thu, 12 Jan 2017 23:47:13 GMT</pubDate>
      <dc:creator><![CDATA[Jeongwoo Choi]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/jechoi/?p=275</guid>
      <description><![CDATA[https://support.microsoft.com/en-us/kb/3141486

https://support.microsoft.com/en-us/kb/3141487]]></description>
      <content:encoded><![CDATA[https://support.microsoft.com/en-us/kb/3141486

https://support.microsoft.com/en-us/kb/3141487]]></content:encoded>
    </item>
    <item>
      <title>드디어 쉐어포인트 새 프레임웍이 rc 단계 돌입했네요</title>
      <link>https://docs.microsoft.com/archive/blogs/jechoi/%EB%93%9C%EB%94%94%EC%96%B4-%EC%89%90%EC%96%B4%ED%8F%AC%EC%9D%B8%ED%8A%B8-%EC%83%88-%ED%94%84%EB%A0%88%EC%9E%84%EC%9B%8D%EC%9D%B4-rc-%EB%8B%A8%EA%B3%84-%EB%8F%8C%EC%9E%85%ED%96%88%EB%84%A4%EC%9A%94</link>
      <pubDate>Tue, 10 Jan 2017 18:45:15 GMT</pubDate>
      <dc:creator><![CDATA[Jeongwoo Choi]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/jechoi/?p=265</guid>
      <description><![CDATA[https://dev.office.com/blogs/sharepoint-framework-release-candidate-0-is-on-its-way]]></description>
      <content:encoded><![CDATA[https://dev.office.com/blogs/sharepoint-framework-release-candidate-0-is-on-its-way]]></content:encoded>
    </item>
    <item>
      <title>O365그룹 관련 업데이트</title>
      <link>https://docs.microsoft.com/archive/blogs/jechoi/o365%EA%B7%B8%EB%A3%B9-%EA%B4%80%EB%A0%A8-%EC%97%85%EB%8D%B0%EC%9D%B4%ED%8A%B8</link>
      <pubDate>Tue, 10 Jan 2017 11:32:49 GMT</pubDate>
      <dc:creator><![CDATA[Jeongwoo Choi]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/jechoi/?p=255</guid>
      <description><![CDATA[https://techcommunity.microsoft.com/t5/SharePoint/UPDATE-SharePoint-Online-team-sites-Office-365-Gro...]]></description>
      <content:encoded><![CDATA[https://techcommunity.microsoft.com/t5/SharePoint/UPDATE-SharePoint-Online-team-sites-Office-365-Groups-moving/m-p/38310#M3559&nbsp;]]></content:encoded>
    </item>
    <item>
      <title>Microsoft teams 관리 설정</title>
      <link>https://docs.microsoft.com/archive/blogs/jechoi/microsoft-teams-%EA%B4%80%EB%A6%AC-%EC%84%A4%EC%A0%95</link>
      <pubDate>Sun, 01 Jan 2017 00:20:11 GMT</pubDate>
      <dc:creator><![CDATA[Jeongwoo Choi]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/jechoi/?p=245</guid>
      <description><![CDATA[https://support.office.com/en-us/article/Administrator-settings-for-Microsoft-Teams-3966a3f5-7e0f-4e...]]></description>
      <content:encoded><![CDATA[https://support.office.com/en-us/article/Administrator-settings-for-Microsoft-Teams-3966a3f5-7e0f-4ea9-a402-41888f455ba2?ui=en-US&amp;rs=en-US&amp;ad=US]]></content:encoded>
    </item>
    <item>
      <title>Tcp/ip 에 대한 가장 아름다운 아티클</title>
      <link>https://docs.microsoft.com/archive/blogs/jechoi/tcpip-%EC%97%90-%EB%8C%80%ED%95%9C-%EA%B0%80%EC%9E%A5-%EC%95%84%EB%A6%84%EB%8B%A4%EC%9A%B4-%EC%95%84%ED%8B%B0%ED%81%B4</link>
      <pubDate>Sat, 31 Dec 2016 20:49:07 GMT</pubDate>
      <dc:creator><![CDATA[Jeongwoo Choi]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/jechoi/?p=235</guid>
      <description><![CDATA[https://d2.naver.com/helloworld/47667]]></description>
      <content:encoded><![CDATA[https://d2.naver.com/helloworld/47667]]></content:encoded>
    </item>
    <item>
      <title>새로운 spo csom api nuget</title>
      <link>https://docs.microsoft.com/archive/blogs/jechoi/%EC%83%88%EB%A1%9C%EC%9A%B4-spo-csom-api-nuget</link>
      <pubDate>Sat, 31 Dec 2016 08:59:11 GMT</pubDate>
      <dc:creator><![CDATA[Jeongwoo Choi]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/jechoi/?p=225</guid>
      <description><![CDATA[새로운 spo csom api...]]></description>
      <content:encoded><![CDATA[새로운 spo csom api nuget

https://dev.office.com/blogs/new-sharepoint-csom-version-released-for-Office-365-december-2016]]></content:encoded>
    </item>
  </channel>
</rss>