<?xml version="1.0" encoding="iso-8859-1"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>konfabulieren &#187; w_powershell</title>
	<atom:link href="http://www.konfabulieren.com/category/windows/w_powershell/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.konfabulieren.com</link>
	<description>unzusammenhaengende, durch die wirklichkeit nicht gestuetzte aussagen - die konfabulierten inhalte werden von hipslu gewoehnlich für wahr gehalten</description>
	<lastBuildDate>Sat, 03 Sep 2011 19:09:38 +0000</lastBuildDate>
	<language>de-at</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<image>
  <link>http://www.konfabulieren.com</link>
  <url>http://www.konfabulieren.com/favicon.ico</url>
  <title>konfabulieren</title>
</image>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>VMware Infrastructure Toolkit</title>
		<link>http://www.konfabulieren.com/2008/08/19/vmware-infrastructure-toolkit/</link>
		<comments>http://www.konfabulieren.com/2008/08/19/vmware-infrastructure-toolkit/#comments</comments>
		<pubDate>Tue, 19 Aug 2008 15:17:34 +0000</pubDate>
		<dc:creator>Martin Hipfinger</dc:creator>
				<category><![CDATA[windows]]></category>
		<category><![CDATA[w_powershell]]></category>
		<category><![CDATA[w_vmware]]></category>
		<category><![CDATA[powershell]]></category>
		<category><![CDATA[vmware]]></category>

		<guid isPermaLink="false">http://www.konfabulieren.com/?p=1018</guid>
		<description><![CDATA[Now it&#8217;s easy to automate repetitive tasks in your VMware virtual environment. With the VMware Virtual Infrastructure Toolkit (for Windows), you benefit from an easy-to-use scripting tool that provides a familiar Microsoft PowerShell interface. This new toolkit takes advantage of the existing VMware Infrastructure SDK and translates it into a PowerShell interface. This way, you [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<blockquote><p>Now it&#8217;s easy to automate repetitive tasks in your VMware virtual environment. With the <a href="http://www.vmware.com/sdk/vitk_win/index.html?src=EM_0803_VMW_OTHER_VITOOLKIT_DOWNLOAD" target="_blank">VMware Virtual Infrastructure Toolkit</a> (for Windows), you benefit from an easy-to-use scripting tool that provides a familiar Microsoft PowerShell interface. This new toolkit takes advantage of the existing VMware Infrastructure SDK and translates it into a PowerShell interface. This way, you can easily use powerful APIs to automate standard management tasks like cloning, moving, starting or stopping Virtual Machines and hosts.</p></blockquote>
<p>&#8230; was ich nicht alles auf meiner todo liste habe <img src='http://www.konfabulieren.com/wp-includes/images/smilies/icon_wink.gif' alt="Icon Wink in " class='wp-smiley' /> </p>
<!-- google_ad_section_end -->
]]></content:encoded>
			<wfw:commentRss>http://www.konfabulieren.com/2008/08/19/vmware-infrastructure-toolkit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>bdc, powershell &amp; c#</title>
		<link>http://www.konfabulieren.com/2008/01/08/bdc-powershell-c/</link>
		<comments>http://www.konfabulieren.com/2008/01/08/bdc-powershell-c/#comments</comments>
		<pubDate>Tue, 08 Jan 2008 08:33:30 +0000</pubDate>
		<dc:creator>Martin Hipfinger</dc:creator>
				<category><![CDATA[ecm]]></category>
		<category><![CDATA[e_sharepoint]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[w_powershell]]></category>

		<guid isPermaLink="false">http://www.konfabulieren.com/2008/01/08/bdc-powershell-c/</guid>
		<description><![CDATA[wie werden eigentlich die informationen aus dem bdc auf feld-ebene gespeichert? schauen wir uns das anhand eines beispieles an: nehmen wir an, wir haben folgenden bdc: application: QueryDemoData entity: Demo_Entity_ID systeminstance: Demo_LobSystemInstance dieser bdc wird in einem blog bei den posts verwendet &#8211; und zwar in der column namens &#8220;DemoID&#8221;. primär wird das gleichnamige bdc [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p>wie werden eigentlich die informationen aus dem bdc auf feld-ebene gespeichert? schauen wir uns das anhand eines beispieles an:</p>
<p>nehmen wir an, wir haben folgenden bdc:<br />
application: QueryDemoData<br />
entity: Demo_Entity_ID<br />
systeminstance: Demo_LobSystemInstance</p>
<p>dieser bdc wird in einem blog bei den posts verwendet &#8211; und zwar in der column namens &#8220;DemoID&#8221;. primär wird das gleichnamige bdc feld &#8220;DemoID&#8221; angezeigt, weiters noch &#8220;field two&#8221;.</p>
<p>schauen wir uns nun einen post mit der powershell an &#8211; holen wir uns zuerst den post mit der id nummer 2:</p>
<blockquote><p>$SiteName = &#8220;http://mosstest/&#8221;<br />
$WebName = &#8220;/blog/&#8221;<br />
$ListName = &#8220;Posts&#8221;<br />
$mossSite = new-object Microsoft.SharePoint.SPSite($SiteName);<br />
$mossWeb = $MossSite.AllWebs[$WebName];<br />
$mossList = $MossWeb.Lists[$ListName];<br />
$item = $mossList.GetItemById(2)</p></blockquote>
<p>und schauen uns einmal an, welche felder dieses item zu bieten hat:</p>
<blockquote><p>$item.Fields | format-table InternalName</p></blockquote>
<p>neben vielen anderen sind für uns nur folgende wichtig:</p>
<p>DemoID<br />
Demo_Entity_DemoID_ID<br />
Demo_x003a__x0020_field_x002</p>
<p>und im ersten schritt das feld &#8220;DemoID&#8221;:</p>
<blockquote><p>$field = $item.Fields.GetFieldByInternalName(&#8220;DemoID&#8221;)</p></blockquote>
<p>dieses feld hat den typ &#8220;BusinessData&#8221;, was man auch mittels</p>
<blockquote><p>$field.TypeAsString</p></blockquote>
<p>kontrollieren kann. der primäre bdc feldname ist &#8220;DEMOID&#8221;, und auch die systeminstance und entity ist vorhanden:</p>
<blockquote><p>$field.BdcFieldName<br />
$field.SystemInstanceName<br />
$field.EntityName</p></blockquote>
<p>bleiben nur noch die zusätzlichen felder &#8211; hier &#8220;FIELDTWO&#8221; (der zugehörige wert wird nach dem query in dem feld &#8220;Demo_x003a__x0020_field_x002&#8243; gespeichert):</p>
<blockquote><p>$field.GetSecondaryFieldsNames()</p></blockquote>
<p>und die kontrolle, ob es zugehörige actions gibt:</p>
<blockquote><p>$field.HasActions</p></blockquote>
<p>das fast wichtigste feld ist allerdings &#8220;Demo_Entity_DemoID_ID&#8221; &#8211; schauen wir uns den inhalt an:</p>
<blockquote><p>$item.GetFormattedValue(&#8220;Demo_Entity_DemoID_ID&#8221;)</p></blockquote>
<p>der inhalt ist z.b. &#8220;__bk43003600f600f600c6009700f6005700b600e600f600770036003200&#8243; &#8211; es handelt sich um eine encodede version des in diesem post verwendeten identifier keywords; mir ist allerdings keine möglichkeit bekannt, wir man den string in der powershell decoden oder gar ein neues keyword (um über die powershell neue documente mit befülltem bdc erstellen zu können) encoden könnte&#8230;</p>
<p>dazu muss man c# bemühen:</p>
<p>folgende references einbinden:<br />
- Microsoft.Office.Server<br />
- Microsoft.Sharepoint<br />
- Microsoft.Sharepoint.Portal</p>
<p>und dann brauchen wir:<br />
using Microsoft.Office.Server.ApplicationRegistry.Administration;<br />
using Microsoft.Office.Server.ApplicationRegistry.Infrastructure;</p>
<p>und schon können wir encoden und decoden:<br />
EntityInstanceIdEncoder.EncodeEntityInstanceId(new object[] { &#8220;coolyouknowc#&#8221; })<br />
EntityInstanceIdEncoder.DecodeEntityInstanceId(&#8220;__bk43003600f600f600c6009700f6005700b600e600f600770036003200&#8243; )</p>
<!-- google_ad_section_end -->
]]></content:encoded>
			<wfw:commentRss>http://www.konfabulieren.com/2008/01/08/bdc-powershell-c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>To add an item to a document library, use SPFileCollection.Add()</title>
		<link>http://www.konfabulieren.com/2008/01/05/to-add-an-item-to-a-document-library-use-spfilecollectionadd/</link>
		<comments>http://www.konfabulieren.com/2008/01/05/to-add-an-item-to-a-document-library-use-spfilecollectionadd/#comments</comments>
		<pubDate>Sat, 05 Jan 2008 11:43:59 +0000</pubDate>
		<dc:creator>Martin Hipfinger</dc:creator>
				<category><![CDATA[ecm]]></category>
		<category><![CDATA[e_sharepoint]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[w_powershell]]></category>

		<guid isPermaLink="false">http://www.konfabulieren.com/2008/01/05/to-add-an-item-to-a-document-library-use-spfilecollectionadd/</guid>
		<description><![CDATA[will man mit der powershell in einer wiki ein dokument hinzufügen, so kann man dies nicht Microsoft.SharePoint.SPListItem Add() erledigen, weil es sich bei der wiki ja um eine document library handelt (die wiki seiten sind nichts anderes als aspx dokumente!) &#8211; daher schlägt folgendes fehl: # vars $SiteName = &#8220;http://mosstest/&#8221; $WebName = &#8220;/Wiki/&#8221; $ListName = [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p>will man mit der powershell in einer wiki ein dokument hinzufügen, so kann man dies nicht Microsoft.SharePoint.SPListItem Add() erledigen, weil es sich bei der wiki ja um eine document library handelt (die wiki seiten sind nichts anderes als aspx dokumente!) &#8211; daher schlägt folgendes fehl:</p>
<blockquote><p># vars</p>
<p>$SiteName = &#8220;http://mosstest/&#8221;<br />
$WebName = &#8220;/Wiki/&#8221;<br />
$ListName = &#8220;Wiki Pages&#8221;</p>
<p># connect to sharepoint and open the wiki list</p>
<p>$mossSite = new-object Microsoft.SharePoint.SPSite($SiteName);<br />
$mossWeb = $MossSite.AllWebs[$WebName];<br />
$mossList = $MossWeb.Lists[$ListName]; </p>
<p>&#8220;Got List&#8230;&#8221; </p>
<p># try to add a new item</p>
<p>$item = $mossList.Items.Add()<br />
$item.Update();</p>
<p>Exception calling &#8220;Update&#8221; with &#8220;0&#8243; argument(s): &#8220;To add an item to a document library, use SPFileCollection.Add()&#8221;<br />
At line:1 char:13<br />
+ $item.Update( <<<< );</p></blockquote>
<p>die fehlermeldung ist eigentlich eindeutig; wie macht man es nun richtig? so:</p>
<blockquote><p># vars</p>
<p>$SiteName = &#8220;http://mosstest/&#8221;<br />
$WebName = &#8220;/Wiki/&#8221;<br />
$ListName = &#8220;Wiki Pages&#8221;</p>
<p># connect to sharepoint and open the wiki list</p>
<p>$mossSite = new-object Microsoft.SharePoint.SPSite($SiteName);<br />
$mossWeb = $MossSite.AllWebs[$WebName];<br />
$mossList = $MossWeb.Lists[$ListName]; </p>
<p>&#8220;Got List&#8230;&#8221; </p>
<p># try to add a new item</p>
<p>[byte[]]$mydata = &#8220;hipslu was here&#8221;.ToCharArray(); # dummydata<br />
$newFile = $mossList.RootFolder.Files.Add(&#8220;newwikientry.aspx&#8221;, $mydata);</p></blockquote>
<p>allerdings wird in diesem beispiel natürlich keine richtige wiki seite erstellt &#8211; für einen ernsthafen einsatz muss die variable $mydata einen entsprechend sinnvollen inhalt haben (oder man kopiert den wiki eintrag von woanders her)</p>
<!-- google_ad_section_end -->
]]></content:encoded>
			<wfw:commentRss>http://www.konfabulieren.com/2008/01/05/to-add-an-item-to-a-document-library-use-spfilecollectionadd/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Powershell and MOSS 2007 &#8211; Vorbereitungen</title>
		<link>http://www.konfabulieren.com/2008/01/04/powershell-and-moss-2007-vorbereitungen/</link>
		<comments>http://www.konfabulieren.com/2008/01/04/powershell-and-moss-2007-vorbereitungen/#comments</comments>
		<pubDate>Fri, 04 Jan 2008 06:10:42 +0000</pubDate>
		<dc:creator>Martin Hipfinger</dc:creator>
				<category><![CDATA[ecm]]></category>
		<category><![CDATA[e_sharepoint]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[w_powershell]]></category>

		<guid isPermaLink="false">http://www.konfabulieren.com/2008/01/04/powershell-and-moss-2007-vorbereitungen/</guid>
		<description><![CDATA[um die powershell verwenden zu können, sind folgende vorbereitungen notwendig: - download und installieren der powershell auf einem server, auf dem auch moss installiert ist - öffnen der powershell und absetzen des folgenden befehls: set-executionpolicy RemoteSigned dies ist optional und bewirkt, dass lokale scripts nicht signiert sein müssen - absetzen der beiden folgenden befehle: [System.Reflection.Assembly]::Load(”Microsoft.SharePoint, [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p>um die powershell verwenden zu können, sind folgende vorbereitungen notwendig:<br />
- <a href="http://www.microsoft.com/windowsserver2003/technologies/management/powershell/download.mspx" target="_blank">download</a> und installieren der powershell auf einem server, auf dem auch moss installiert ist<br />
- öffnen der powershell und absetzen des folgenden befehls: </p>
<blockquote><p>set-executionpolicy RemoteSigned</p></blockquote>
<p>dies ist optional und bewirkt, dass lokale scripts nicht signiert sein müssen<br />
- absetzen der beiden folgenden befehle:</p>
<blockquote><p>[System.Reflection.Assembly]::Load(”Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c”)<br />
[System.Reflection.Assembly]::Load(”Microsoft.SharePoint.Portal, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c”) </p></blockquote>
<p>der output sollte wie folgt aussehen:</p>
<blockquote><p>GAC    Version        Location<br />
&#8212;    &#8212;&#8212;-        &#8212;&#8212;&#8211;<br />
True   v2.0.50727     C:\WINDOWS\assembly\GAC_MSIL\Microsoft.SharePoint\12.0.0.0__71e9bce111e9429c\Microsoft.SharePo&#8230;</p>
<p>GAC    Version        Location<br />
&#8212;    &#8212;&#8212;-        &#8212;&#8212;&#8211;<br />
True   v2.0.50727     C:\WINDOWS\assembly\GAC_MSIL\Microsoft.SharePoint.Portal\12.0.0.0__71e9bce111e9429c\Microsoft&#8230;.</p></blockquote>
<p>&#8230; um das nicht jedes mal eingeben zu müssen, erstellt man unter &#8220;C:\Documents and Settings\<em>username</em>\My Documents\&#8221; ein neues verzeichnis names &#8220;WindowsPowerShell&#8221; und darin eine datei namens &#8220;Microsoft.PowerShell_profile.ps1&#8243; &#8211; in diese datei fügt man nun diese beiden zeilen ein.</p>
<p>das war bereits alles! in den folgenden posts werde ich beispiele zeigen, was man nun mit der powershell so alles machen kann.</p>
<!-- google_ad_section_end -->
]]></content:encoded>
			<wfw:commentRss>http://www.konfabulieren.com/2008/01/04/powershell-and-moss-2007-vorbereitungen/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

