<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>UMnieDziala.pl - PowerShell</title>
    <link>http://umniedziala.pl/</link>
    <description />
    <language>pl_PL</language>
    <copyright>Krzysztof Pietrzak</copyright>
    <lastBuildDate>Sat, 21 Apr 2007 08:36:51 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.0.7226.0</generator>
    <managingEditor>pkrzysz@pjwstk.edu.pl</managingEditor>
    <webMaster>pkrzysz@pjwstk.edu.pl</webMaster>
    <item>
      <trackback:ping>http://umniedziala.pl/Trackback.aspx?guid=5e4952dd-eeb7-4515-889b-eac2f4677263</trackback:ping>
      <pingback:server>http://umniedziala.pl/pingback.aspx</pingback:server>
      <pingback:target>http://umniedziala.pl/PermaLink,guid,5e4952dd-eeb7-4515-889b-eac2f4677263.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <wfw:comment>http://umniedziala.pl/CommentView,guid,5e4952dd-eeb7-4515-889b-eac2f4677263.aspx</wfw:comment>
      <wfw:commentRss>http://umniedziala.pl/SyndicationService.asmx/GetEntryCommentsRss?guid=5e4952dd-eeb7-4515-889b-eac2f4677263</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Od lutowego CTP dostępne są ziarniste polityki haseł - czyli możliwość przypisywania
polityk haseł do użytkowników/grup globalnych. Główne cechy nowych polityk to:
</p>
        <ul>
          <li>
Polityki Haseł są oparte o obiekty PSO (Password Sttins Objects). 
</li>
          <li>
Obiekty PSO są połączone z kontami użytkowników/grup globalnych za pomocą mechanizmu
forward/backlink, podobnie jak członkostwo w grupie. 
</li>
          <li>
Wiele obiektów PSO może być podłączonych do jednego obiektu użytkownika, jednak nie
będą scalane – tylko jedna polisa będzie aktywna. 
</li>
          <li>
Jeśli wiele obiektów jest podpiętych do użytkownika, wygrywa ten, który ma najniższy
atrybut precedence. Jeśli atrybut precedence jest taki sam w kilku polisach, wygrywa
ta, która ma najniższy GUID. 
</li>
          <li>
Polityki przechowywane są w CN=System,CN=Password Settings Container. 
</li>
          <li>
Nie przewiduje się wsparcia dla polis na OU w Windows Server Longhorn.</li>
        </ul>
        <p>
Więcej informacji dotyczących polityk można znaleźć pod tym <a class="" href="http://msmvps.com/blogs/ulfbsimonweidner/archive/2007/03/12/windows-server-quot-longhorn-quot-granular-password-settings.aspx" target="_blank" mce_href="http://msmvps.com/blogs/ulfbsimonweidner/archive/2007/03/12/windows-server-quot-longhorn-quot-granular-password-settings.aspx">adresem</a>.
</p>
        <p>
Jako że w obecnej wersji nie istnieje GUI do edycji tych polityk haseł, przygotowałem
przykładowy skrypt, który tworzy obiekt Polityki, wszystkie wymagane atrybuty oraz
podpina politykę pod konto użytkownika - skrypt znajduje się w załączniku. Oczywiście,
podobny efekt można uzyskać, korzystając z wbudowanego ADSIEDIT.
</p>
        <p>
          <font face="Courier New">#pobieramy kontener Haseł<br />
$ou=[ADSI]"LDAP://CN=Password Settings Container,CN=System,DC=contoso,DC=local"<br />
#tworzymy obiekt polityki haseł<br />
$policy = $ou.Create("msds-passwordsettings","cn=myPolicy")<br />
$policy.Put("msDS-PasswordSettingsPrecedence","10") #prirytet mniejszy-&gt;lepszy<br />
$policy.Put("msDS-PasswordHistoryLength","15") 
<br />
$policy.Put("msDS-MinimumPasswordLength","12")<br />
$policy.Put("msDS-MinimumPasswordAge","-864000000000") # 1dzień<br />
$policy.Put("msDS-MaximumPasswordAge","-36288000000000") # 42dni<br />
$policy.Put("msDS-LockoutThreshold","0")<br />
$policy.Put("msDS-LockoutObservationWindow","-18000000000") # 8minut<br />
$policy.Put("msDS-LockoutDuration","-18000000000") #8minut<br />
$policy.Put("msDS-PasswordComplexityEnabled",[bool]0)<br />
$policy.Put("msDS-PasswordReversibleEncryptionEnabled",[bool]0)<br />
$policy.SetInfo() 
<br />
#Dopisanie polisy do użytkownika<br />
$policy.Put("msDS-PSOAppliesTo","CN=peki,CN=Users,DC=contoso,DC=local")<br />
$policy.SetInfo() 
<br /></font>
        </p>
        <img width="0" height="0" src="http://umniedziala.pl/aggbug.ashx?id=5e4952dd-eeb7-4515-889b-eac2f4677263" />
      </body>
      <title>Ziarniste polityki hasel</title>
      <guid isPermaLink="false">http://umniedziala.pl/PermaLink,guid,5e4952dd-eeb7-4515-889b-eac2f4677263.aspx</guid>
      <link>http://UMnieDziala.pl/ZiarnistePolitykiHasel.aspx</link>
      <pubDate>Sat, 21 Apr 2007 08:36:51 GMT</pubDate>
      <description>&lt;p&gt;
Od lutowego CTP dostępne są ziarniste polityki haseł - czyli możliwość przypisywania
polityk haseł do użytkowników/grup globalnych. Główne cechy nowych polityk to:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Polityki Haseł są oparte o obiekty PSO (Password Sttins Objects). 
&lt;/li&gt;
&lt;li&gt;
Obiekty PSO są połączone z kontami użytkowników/grup globalnych za pomocą mechanizmu
forward/backlink, podobnie jak członkostwo w grupie. 
&lt;/li&gt;
&lt;li&gt;
Wiele obiektów PSO może być podłączonych do jednego obiektu użytkownika, jednak nie
będą scalane – tylko jedna polisa będzie aktywna. 
&lt;/li&gt;
&lt;li&gt;
Jeśli wiele obiektów jest podpiętych do użytkownika, wygrywa ten, który ma najniższy
atrybut precedence. Jeśli atrybut precedence jest taki sam w kilku polisach, wygrywa
ta, która ma najniższy GUID. 
&lt;/li&gt;
&lt;li&gt;
Polityki przechowywane są w CN=System,CN=Password Settings Container. 
&lt;/li&gt;
&lt;li&gt;
Nie przewiduje się wsparcia dla polis na&amp;nbsp;OU w Windows Server Longhorn.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Więcej informacji dotyczących polityk można znaleźć pod tym &lt;a class="" href="http://msmvps.com/blogs/ulfbsimonweidner/archive/2007/03/12/windows-server-quot-longhorn-quot-granular-password-settings.aspx" target="_blank" mce_href="http://msmvps.com/blogs/ulfbsimonweidner/archive/2007/03/12/windows-server-quot-longhorn-quot-granular-password-settings.aspx"&gt;adresem&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
Jako że w obecnej wersji nie istnieje GUI do edycji&amp;nbsp;tych polityk haseł, przygotowałem
przykładowy skrypt, który tworzy obiekt Polityki, wszystkie wymagane atrybuty oraz
podpina politykę pod konto użytkownika - skrypt znajduje się w załączniku. Oczywiście,
podobny efekt można uzyskać, korzystając z wbudowanego ADSIEDIT.
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New"&gt;#pobieramy kontener Haseł&lt;br&gt;
$ou=[ADSI]"LDAP://CN=Password Settings Container,CN=System,DC=contoso,DC=local"&lt;br&gt;
#tworzymy obiekt polityki haseł&lt;br&gt;
$policy = $ou.Create("msds-passwordsettings","cn=myPolicy")&lt;br&gt;
$policy.Put("msDS-PasswordSettingsPrecedence","10") #prirytet mniejszy-&amp;gt;lepszy&lt;br&gt;
$policy.Put("msDS-PasswordHistoryLength","15") 
&lt;br&gt;
$policy.Put("msDS-MinimumPasswordLength","12")&lt;br&gt;
$policy.Put("msDS-MinimumPasswordAge","-864000000000") # 1dzień&lt;br&gt;
$policy.Put("msDS-MaximumPasswordAge","-36288000000000") # 42dni&lt;br&gt;
$policy.Put("msDS-LockoutThreshold","0")&lt;br&gt;
$policy.Put("msDS-LockoutObservationWindow","-18000000000") # 8minut&lt;br&gt;
$policy.Put("msDS-LockoutDuration","-18000000000") #8minut&lt;br&gt;
$policy.Put("msDS-PasswordComplexityEnabled",[bool]0)&lt;br&gt;
$policy.Put("msDS-PasswordReversibleEncryptionEnabled",[bool]0)&lt;br&gt;
$policy.SetInfo() 
&lt;br&gt;
#Dopisanie polisy do użytkownika&lt;br&gt;
$policy.Put("msDS-PSOAppliesTo","CN=peki,CN=Users,DC=contoso,DC=local")&lt;br&gt;
$policy.SetInfo() 
&lt;br&gt;
&lt;/font&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://umniedziala.pl/aggbug.ashx?id=5e4952dd-eeb7-4515-889b-eac2f4677263" /&gt;</description>
      <comments>http://umniedziala.pl/CommentView,guid,5e4952dd-eeb7-4515-889b-eac2f4677263.aspx</comments>
      <category>Longhorn</category>
      <category>PowerShell</category>
    </item>
    <item>
      <trackback:ping>http://umniedziala.pl/Trackback.aspx?guid=4281c482-75fe-438e-aaa0-a4b9fb907858</trackback:ping>
      <pingback:server>http://umniedziala.pl/pingback.aspx</pingback:server>
      <pingback:target>http://umniedziala.pl/PermaLink,guid,4281c482-75fe-438e-aaa0-a4b9fb907858.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <wfw:comment>http://umniedziala.pl/CommentView,guid,4281c482-75fe-438e-aaa0-a4b9fb907858.aspx</wfw:comment>
      <wfw:commentRss>http://umniedziala.pl/SyndicationService.asmx/GetEntryCommentsRss?guid=4281c482-75fe-438e-aaa0-a4b9fb907858</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Mieliśmy ostatnio problem z polskimi znakami w displayname - dostaliśmy listę kont
do załozenia która była w innym kodowaniu niz zazwyczaj, i automat załozył konta z
polskimi znakami w displayName. Niestety Linuxy przy zakladaniu aliasów pocztowych
nie poradziły sobie z polskimi znakami, więc mieliśmy ok 100 kont do dodania.
</p>
        <p>
Kfaz po długiej i cięzkiej nauce powershella napisał taki skrypt:
</p>
        <p>
          <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">$Root
= <font color="#0000ff">New-Object</font> DirectoryServices.DirectoryEntry $strROOT<br />
$logname = "Nazwiska";<br />
$logname += <font color="#0000ff">get-date</font><font color="#000080">-format</font> "<font color="#006400">yyyyMMdd_hhmmss</font>";<br />
$logname +=".<span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"><font color="#000000">log</font></span>";<br /><br />
$Searcher = <font color="#0000ff">New-Object</font> DirectoryServices.DirectorySearcher<br />
$Searcher.SearchRoot = $root<br />
$searcher.Filter =  "(&amp;(objectClass=<span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"><font color="#000000">User</font></span>)(!(objectClass=Computer)))";<br />
$users = $searcher.findAll(); 
<br />
$l=0;<br />
$<span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"><font color="#000000">log</font></span>=@();<br />
$polish = "ą","ć","ę","ł","ń","ó","ś","ź","ż","Ą","Ć","Ę","Ł","Ń","Ó","Ś","Ź","Ż";<br />
$latin = "a","c","e","l","n","o","s","z","z","A","C","E","L","N","O","S","Z","Z"<br /><br />
foreach ($<span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"><font color="#000000">user</font></span><span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"><font color="#000080">in</font></span> $users)<br />
{<br />
 write-host "." -NoNewLine;<br /><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"> if</span> (([string]
$<span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"><font color="#000000">user</font></span>.properties.displayname) <font color="#000080">-match</font> "<font color="#006400">[ąćęłńóśźżĄĆĘŁŃÓŚŹŻ]</font>")<br />
  {<br />
   $de = <font color="#0000ff">New-Object</font> DirectoryServices.DirectoryEntry
$<span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"><font color="#000000">user</font></span>.Path;<br />
   $temp = $de.displayName;<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">  
for</span> ($i = 0; $i –lt $polish.<span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"><font color="#000000">count</font></span>;
$i++)<br />
   {<br />
    $temp = ([String]$temp).<span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"><font color="#000000">Replace</font></span>($polish[$i],
$latin[$i]);<br />
   }<br /><br />
   $<span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"><font color="#000000">log</font></span>+=$de.SAMAccountName
+" "+$de.displayName+" "+$temp;<br />
   $de.SAMAccountName;<br />
   $de.displayName;<br />
   $temp;<br /><font color="#0000ff">   echo</font> "<span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">-------------------------------------<font color="#000000">";</font></span><br /><br />
   $de.displayName = $temp;<br />
   $de.CommitChanges(); 
<br />
   $l++;<br />
  }<br />
}<br /><br /><font color="#0000ff">echo</font> "<font color="#006400">Przetworzonych  </font>"
$l | <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">out</span>-<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">file</span> $logname <font color="#000080">-Append</font><br />
$<span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"><font color="#000000">log</font></span> | <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">out</span>-<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">file</span> $logname <font color="#000080">-Append</font><br /><br /><font color="#0000ff">echo</font> "<font color="#006400">Przetworzonych  </font>"
$l</span>
        </p>
        <img width="0" height="0" src="http://umniedziala.pl/aggbug.ashx?id=4281c482-75fe-438e-aaa0-a4b9fb907858" />
      </body>
      <title>Poprawianie polskich znaków w DisplayName</title>
      <guid isPermaLink="false">http://umniedziala.pl/PermaLink,guid,4281c482-75fe-438e-aaa0-a4b9fb907858.aspx</guid>
      <link>http://UMnieDziala.pl/PoprawianiePolskichZnak%c3%b3wWDisplayName.aspx</link>
      <pubDate>Thu, 04 Jan 2007 11:40:47 GMT</pubDate>
      <description>&lt;p&gt;
Mieliśmy ostatnio problem z polskimi znakami w displayname - dostaliśmy listę kont
do załozenia która była w innym kodowaniu niz zazwyczaj, i automat załozył konta z
polskimi znakami w displayName. Niestety Linuxy przy zakladaniu aliasów pocztowych
nie poradziły sobie z polskimi znakami, więc mieliśmy ok 100 kont do dodania.
&lt;/p&gt;
&lt;p&gt;
Kfaz po długiej i cięzkiej nauce powershella napisał taki skrypt:
&lt;/p&gt;
&lt;p&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;$Root
= &lt;font color=#0000ff&gt;New-Object&lt;/font&gt; DirectoryServices.DirectoryEntry $strROOT&lt;br&gt;
$logname = "Nazwiska";&lt;br&gt;
$logname += &lt;font color=#0000ff&gt;get-date&lt;/font&gt; &lt;font color=#000080&gt;-format&lt;/font&gt; "&lt;font color=#006400&gt;yyyyMMdd_hhmmss&lt;/font&gt;";&lt;br&gt;
$logname +=".&lt;span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;font color=#000000&gt;log&lt;/font&gt;&lt;/span&gt;";&lt;br&gt;
&lt;br&gt;
$Searcher = &lt;font color=#0000ff&gt;New-Object&lt;/font&gt; DirectoryServices.DirectorySearcher&lt;br&gt;
$Searcher.SearchRoot = $root&lt;br&gt;
$searcher.Filter = &amp;nbsp;"(&amp;amp;(objectClass=&lt;span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;font color=#000000&gt;User&lt;/font&gt;&lt;/span&gt;)(!(objectClass=Computer)))";&lt;br&gt;
$users = $searcher.findAll(); 
&lt;br&gt;
$l=0;&lt;br&gt;
$&lt;span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;font color=#000000&gt;log&lt;/font&gt;&lt;/span&gt;=@();&lt;br&gt;
$polish = "ą","ć","ę","ł","ń","ó","ś","ź","ż","Ą","Ć","Ę","Ł","Ń","Ó","Ś","Ź","Ż";&lt;br&gt;
$latin = "a","c","e","l","n","o","s","z","z","A","C","E","L","N","O","S","Z","Z"&lt;br&gt;
&lt;br&gt;
foreach ($&lt;span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;font color=#000000&gt;user&lt;/font&gt;&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;font color=#000080&gt;in&lt;/font&gt;&lt;/span&gt; $users)&lt;br&gt;
{&lt;br&gt;
&amp;nbsp;write-host "." -NoNewLine;&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&amp;nbsp;if&lt;/span&gt; (([string]
$&lt;span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;font color=#000000&gt;user&lt;/font&gt;&lt;/span&gt;.properties.displayname) &lt;font color=#000080&gt;-match&lt;/font&gt; "&lt;font color=#006400&gt;[ąćęłńóśźżĄĆĘŁŃÓŚŹŻ]&lt;/font&gt;")&lt;br&gt;
&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp; $de = &lt;font color=#0000ff&gt;New-Object&lt;/font&gt; DirectoryServices.DirectoryEntry
$&lt;span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;font color=#000000&gt;user&lt;/font&gt;&lt;/span&gt;.Path;&lt;br&gt;
&amp;nbsp;&amp;nbsp; $temp = $de.displayName;&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&amp;nbsp;&amp;nbsp;
for&lt;/span&gt; ($i = 0; $i –lt $polish.&lt;span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;font color=#000000&gt;count&lt;/font&gt;&lt;/span&gt;;
$i++)&lt;br&gt;
&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; $temp = ([String]$temp).&lt;span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;font color=#000000&gt;Replace&lt;/font&gt;&lt;/span&gt;($polish[$i],
$latin[$i]);&lt;br&gt;
&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp; $&lt;span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;font color=#000000&gt;log&lt;/font&gt;&lt;/span&gt;+=$de.SAMAccountName
+" "+$de.displayName+" "+$temp;&lt;br&gt;
&amp;nbsp;&amp;nbsp; $de.SAMAccountName;&lt;br&gt;
&amp;nbsp;&amp;nbsp; $de.displayName;&lt;br&gt;
&amp;nbsp;&amp;nbsp; $temp;&lt;br&gt;
&lt;font color=#0000ff&gt;&amp;nbsp;&amp;nbsp; echo&lt;/font&gt; "&lt;span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;-------------------------------------&lt;font color=#000000&gt;";&lt;/font&gt;&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp; $de.displayName = $temp;&lt;br&gt;
&amp;nbsp;&amp;nbsp; $de.CommitChanges(); 
&lt;br&gt;
&amp;nbsp;&amp;nbsp; $l++;&lt;br&gt;
&amp;nbsp; }&lt;br&gt;
}&lt;br&gt;
&lt;br&gt;
&lt;font color=#0000ff&gt;echo&lt;/font&gt; "&lt;font color=#006400&gt;Przetworzonych &amp;nbsp;&lt;/font&gt;"
$l | &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;out&lt;/span&gt;-&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;file&lt;/span&gt; $logname &lt;font color=#000080&gt;-Append&lt;/font&gt;
&lt;br&gt;
$&lt;span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;font color=#000000&gt;log&lt;/font&gt;&lt;/span&gt; | &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;out&lt;/span&gt;-&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;file&lt;/span&gt; $logname &lt;font color=#000080&gt;-Append&lt;/font&gt;
&lt;br&gt;
&lt;br&gt;
&lt;font color=#0000ff&gt;echo&lt;/font&gt; "&lt;font color=#006400&gt;Przetworzonych &amp;nbsp;&lt;/font&gt;"
$l&lt;/span&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://umniedziala.pl/aggbug.ashx?id=4281c482-75fe-438e-aaa0-a4b9fb907858" /&gt;</description>
      <comments>http://umniedziala.pl/CommentView,guid,4281c482-75fe-438e-aaa0-a4b9fb907858.aspx</comments>
      <category>PowerShell</category>
      <category>Windows</category>
    </item>
    <item>
      <trackback:ping>http://umniedziala.pl/Trackback.aspx?guid=f2d7eba1-8ee5-472c-9fbe-c0abad4ed35f</trackback:ping>
      <pingback:server>http://umniedziala.pl/pingback.aspx</pingback:server>
      <pingback:target>http://umniedziala.pl/PermaLink,guid,f2d7eba1-8ee5-472c-9fbe-c0abad4ed35f.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <wfw:comment>http://umniedziala.pl/CommentView,guid,f2d7eba1-8ee5-472c-9fbe-c0abad4ed35f.aspx</wfw:comment>
      <wfw:commentRss>http://umniedziala.pl/SyndicationService.asmx/GetEntryCommentsRss?guid=f2d7eba1-8ee5-472c-9fbe-c0abad4ed35f</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Po przejrzeniu kilku rekordów userów okazało się, że niektórzy mają w Display Name
poustawiane pomiędzy imieniem i nazwiskiem 2 spacje zamiast 1. Aby to skorygować,
powstał ten skrypt:
</p>
        <p>
          <span style="font-size: 11px; color: black; font-family: Courier New; background-color: transparent;">$data=<font color="#0000ff">get-date</font> -format
g<br />
$comment=<span style="font-size: 11px; color: rgb(102, 102, 102); font-family: Courier New; background-color: rgb(228, 228, 228);">"[changedDN
"</span><span style="font-size: 11px; color: red; font-family: Courier New; background-color: transparent;">+</span>$data+<span style="font-size: 11px; color: rgb(102, 102, 102); font-family: Courier New; background-color: rgb(228, 228, 228);">"by
PeKi]"</span><br />
$logname <span style="font-size: 11px; color: red; font-family: Courier New; background-color: transparent;">=</span><span style="font-size: 11px; color: rgb(102, 102, 102); font-family: Courier New; background-color: rgb(228, 228, 228);">"changedDN"</span>;<br />
$logname += get-date -format <span style="font-size: 11px; color: rgb(102, 102, 102); font-family: Courier New; background-color: rgb(228, 228, 228);">"yyyyMMdd_hhmmss"</span>;<br />
$logname +=<span style="font-size: 11px; color: rgb(102, 102, 102); font-family: Courier New; background-color: rgb(228, 228, 228);">".log"</span>;<br />
$l=0<br />
$Root <span style="font-size: 11px; color: red; font-family: Courier New; background-color: transparent;">=</span><font color="#0000ff">New-Object</font><font color="#000080">DirectoryServices.DirectoryEntry</font> $strROOT<br />
Searcher <span style="font-size: 11px; color: red; font-family: Courier New; background-color: transparent;">=</span><font color="#0000ff">New-Object</font><font color="#000080">DirectoryServices.DirectorySearcher</font><br />
$Searcher.SearchRoot <span style="font-size: 11px; color: red; font-family: Courier New; background-color: transparent;">=</span> $root<br />
$searcher.Filter <span style="font-size: 11px; color: red; font-family: Courier New; background-color: transparent;">=</span><span style="font-size: 11px; color: rgb(102, 102, 102); font-family: Courier New; background-color: rgb(228, 228, 228);">"(&amp;(objectClass=person)(objectcategory=person)(displayName=*
*))"</span>;<br />
$users <span style="font-size: 11px; color: red; font-family: Courier New; background-color: transparent;">=</span> $searcher.findAll(); 
<br />
$log=@();<br /><span style="font-size: 11px; color: blue; font-family: Courier New; background-color: transparent;">foreach</span> ($user <span style="font-size: 11px; color: blue; font-family: Courier New; background-color: transparent;">in</span> $users)<br />
{<br />
    $de <span style="font-size: 11px; color: red; font-family: Courier New; background-color: transparent;">=</span><font color="#0000ff"> New-Object</font><font color="#000080">DirectoryServices.DirectoryEntry</font> $user.Path;<br />
    $log+=$de.SAMAccountName <span style="font-size: 11px; color: red; font-family: Courier New; background-color: transparent;">+</span><span style="font-size: 11px; color: rgb(102, 102, 102); font-family: Courier New; background-color: rgb(228, 228, 228);">"
"</span><span style="font-size: 11px; color: red; font-family: Courier New; background-color: transparent;">+</span> $de.displayName<br />
    $de.displayName=([<font color="#000080">String</font>]$de.displayName).Replace(<span style="font-size: 11px; color: rgb(102, 102, 102); font-family: Courier New; background-color: rgb(228, 228, 228);">"
"</span>,<span style="font-size: 11px; color: rgb(102, 102, 102); font-family: Courier New; background-color: rgb(228, 228, 228);">"
"</span>)<br />
    $l++<br />
}<br /><br />
echo <span style="font-size: 11px; color: rgb(102, 102, 102); font-family: Courier New; background-color: rgb(228, 228, 228);">"Przetworzonych
"</span> $l <span style="font-size: 11px; color: red; font-family: Courier New; background-color: transparent;">|</span><font color="#0000ff"><span style="font-size: 11px; color: blue; font-family: Courier New; background-color: transparent;">out</span>-file</font> $logname
-Append<br />
$log| <font color="#0000ff"><span style="font-size: 11px; color: blue; font-family: Courier New; background-color: transparent;">out</span>-file</font> $logname
-Append<br /><br />
echo <span style="font-size: 11px; color: rgb(102, 102, 102); font-family: Courier New; background-color: rgb(228, 228, 228);">"Przetworzonych
"</span> $l<br />
$log</span>
        </p>
        <p>
A ten skrypt poprawia błąd, w którym nazwisko jest powtórzone 2 razy:
</p>
        <p>
          <span style="font-size: 11px; color: black; font-family: Courier New; background-color: transparent;">$data=<font color="#0000ff">get-date</font> -format
g<br />
$comment=<span style="font-size: 11px; color: rgb(102, 102, 102); font-family: Courier New; background-color: rgb(228, 228, 228);">"[changedDN
"</span><span style="font-size: 11px; color: red; font-family: Courier New; background-color: transparent;">+</span>$data+<span style="font-size: 11px; color: rgb(102, 102, 102); font-family: Courier New; background-color: rgb(228, 228, 228);">"by
PeKi]"</span><br />
$logname <span style="font-size: 11px; color: red; font-family: Courier New; background-color: transparent;">=</span><span style="font-size: 11px; color: rgb(102, 102, 102); font-family: Courier New; background-color: rgb(228, 228, 228);">"changedDNGN"</span>;<br />
$logname += <font color="#0000ff">get-date</font> -format <span style="font-size: 11px; color: rgb(102, 102, 102); font-family: Courier New; background-color: rgb(228, 228, 228);">"yyyyMMdd_hhmmss"</span>;<br />
$logname +=<span style="font-size: 11px; color: rgb(102, 102, 102); font-family: Courier New; background-color: rgb(228, 228, 228);">".log"</span>;<br /><br />
$Root <span style="font-size: 11px; color: red; font-family: Courier New; background-color: transparent;">=</span><font color="#0000ff">New-Object</font><font color="#000080">DirectoryServices.DirectoryEntry</font> $strROOT<br />
Searcher <span style="font-size: 11px; color: red; font-family: Courier New; background-color: transparent;">=</span><font color="#0000ff">New-Object</font><font color="#000080">DirectoryServices.DirectorySearcher</font><br />
$Searcher.SearchRoot <span style="font-size: 11px; color: red; font-family: Courier New; background-color: transparent;">=</span> $root<br />
$searcher.Filter <span style="font-size: 11px; color: red; font-family: Courier New; background-color: transparent;">=</span><span style="font-size: 11px; color: rgb(102, 102, 102); font-family: Courier New; background-color: rgb(228, 228, 228);">"(&amp;(objectClass=person)(objectcategory=person)(displayname=*
* *)(givenName=* *)(sn=*))"</span>;<br />
$users <span style="font-size: 11px; color: red; font-family: Courier New; background-color: transparent;">=</span> $searcher.findAll(); 
<br />
$log=@();<br />
$l=0<br /><span style="font-size: 11px; color: blue; font-family: Courier New; background-color: transparent;">foreach</span> ($user <span style="font-size: 11px; color: blue; font-family: Courier New; background-color: transparent;">in</span> $users)<br />
{<br />
    $de <span style="font-size: 11px; color: red; font-family: Courier New; background-color: transparent;">=</span><font color="#0000ff">New-Object</font> DirectoryServices<font color="#000080">.DirectoryEntry</font> $user.Path;<br />
    $gns=([String]$de.givenName).Split(' ')[1].tolower()<br />
    $sn=([String]$de.sn).tolower()<br />
    <span style="font-size: 11px; color: blue; font-family: Courier New; background-color: transparent;">if</span> ($gns.CompareTo($sn) <font color="#0000ff">-eq</font> 0)<br />
    {<br />
    $newGN=([String]$de.givenName).Split(' ')[0];<br />
    $newDN=$newGN+<span style="font-size: 11px; color: rgb(102, 102, 102); font-family: Courier New; background-color: rgb(228, 228, 228);">"
"</span><span style="font-size: 11px; color: red; font-family: Courier New; background-color: transparent;">+</span>([String]$de.sn)<br />
    $log+=$de.SAMAccountName+ $de.givenName <span style="font-size: 11px; color: red; font-family: Courier New; background-color: transparent;">+</span> $de.displayName <span style="font-size: 11px; color: red; font-family: Courier New; background-color: transparent;">+</span> $newGN <span style="font-size: 11px; color: red; font-family: Courier New; background-color: transparent;">+</span>$newDN 
<br />
    write-host $l<br />
    $de.givenName=$newGN<br />
    $de.displayName=$newDN 
<br />
    $l++<br />
    }    <br />
}<br /><br /><font color="#0000ff">echo</font><span style="font-size: 11px; color: rgb(102, 102, 102); font-family: Courier New; background-color: rgb(228, 228, 228);">"Przetworzonych
"</span> $l <span style="font-size: 11px; color: red; font-family: Courier New; background-color: transparent;">|</span><font color="#0000ff"><span style="font-size: 11px; color: blue; font-family: Courier New; background-color: transparent;">out</span>-file</font> $logname
-Append<br />
$log| <font color="#0000ff"><span style="font-size: 11px; color: blue; font-family: Courier New; background-color: transparent;">out</span>-file</font> $logname
-Append<br /><br /><font color="#0000ff">echo</font><span style="font-size: 11px; color: rgb(102, 102, 102); font-family: Courier New; background-color: rgb(228, 228, 228);">"Przetworzonych
"</span> $l<br />
$log<br /></span>
        </p>
        <img width="0" height="0" src="http://umniedziala.pl/aggbug.ashx?id=f2d7eba1-8ee5-472c-9fbe-c0abad4ed35f" />
      </body>
      <title>Poprawianie DisplayName</title>
      <guid isPermaLink="false">http://umniedziala.pl/PermaLink,guid,f2d7eba1-8ee5-472c-9fbe-c0abad4ed35f.aspx</guid>
      <link>http://UMnieDziala.pl/PoprawianieDisplayName.aspx</link>
      <pubDate>Thu, 26 Oct 2006 12:30:43 GMT</pubDate>
      <description>&lt;p&gt;
Po przejrzeniu kilku rekordów userów okazało się, że niektórzy mają w Display Name
poustawiane pomiędzy imieniem i nazwiskiem 2 spacje zamiast 1. Aby to skorygować,
powstał ten skrypt:
&lt;/p&gt;
&lt;p&gt;
&lt;span style="font-size: 11px; color: black; font-family: Courier New; background-color: transparent;"&gt;$data=&lt;font color="#0000ff"&gt;get-date&lt;/font&gt; -format
g&lt;br&gt;
$comment=&lt;span style="font-size: 11px; color: rgb(102, 102, 102); font-family: Courier New; background-color: rgb(228, 228, 228);"&gt;"[changedDN
"&lt;/span&gt;&lt;span style="font-size: 11px; color: red; font-family: Courier New; background-color: transparent;"&gt;+&lt;/span&gt;$data+&lt;span style="font-size: 11px; color: rgb(102, 102, 102); font-family: Courier New; background-color: rgb(228, 228, 228);"&gt;"by
PeKi]"&lt;/span&gt;
&lt;br&gt;
$logname &lt;span style="font-size: 11px; color: red; font-family: Courier New; background-color: transparent;"&gt;=&lt;/span&gt; &lt;span style="font-size: 11px; color: rgb(102, 102, 102); font-family: Courier New; background-color: rgb(228, 228, 228);"&gt;"changedDN"&lt;/span&gt;;&lt;br&gt;
$logname += get-date -format &lt;span style="font-size: 11px; color: rgb(102, 102, 102); font-family: Courier New; background-color: rgb(228, 228, 228);"&gt;"yyyyMMdd_hhmmss"&lt;/span&gt;;&lt;br&gt;
$logname +=&lt;span style="font-size: 11px; color: rgb(102, 102, 102); font-family: Courier New; background-color: rgb(228, 228, 228);"&gt;".log"&lt;/span&gt;;&lt;br&gt;
$l=0&lt;br&gt;
$Root &lt;span style="font-size: 11px; color: red; font-family: Courier New; background-color: transparent;"&gt;=&lt;/span&gt; &lt;font color="#0000ff"&gt;New-Object&lt;/font&gt; &lt;font color="#000080"&gt;DirectoryServices.DirectoryEntry&lt;/font&gt; $strROOT&lt;br&gt;
Searcher &lt;span style="font-size: 11px; color: red; font-family: Courier New; background-color: transparent;"&gt;=&lt;/span&gt; &lt;font color="#0000ff"&gt;New-Object&lt;/font&gt; &lt;font color="#000080"&gt;DirectoryServices.DirectorySearcher&lt;/font&gt;
&lt;br&gt;
$Searcher.SearchRoot &lt;span style="font-size: 11px; color: red; font-family: Courier New; background-color: transparent;"&gt;=&lt;/span&gt; $root&lt;br&gt;
$searcher.Filter &lt;span style="font-size: 11px; color: red; font-family: Courier New; background-color: transparent;"&gt;=&lt;/span&gt; &lt;span style="font-size: 11px; color: rgb(102, 102, 102); font-family: Courier New; background-color: rgb(228, 228, 228);"&gt;"(&amp;amp;(objectClass=person)(objectcategory=person)(displayName=*
*))"&lt;/span&gt;;&lt;br&gt;
$users &lt;span style="font-size: 11px; color: red; font-family: Courier New; background-color: transparent;"&gt;=&lt;/span&gt; $searcher.findAll(); 
&lt;br&gt;
$log=@();&lt;br&gt;
&lt;span style="font-size: 11px; color: blue; font-family: Courier New; background-color: transparent;"&gt;foreach&lt;/span&gt; ($user &lt;span style="font-size: 11px; color: blue; font-family: Courier New; background-color: transparent;"&gt;in&lt;/span&gt; $users)&lt;br&gt;
{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$de &lt;span style="font-size: 11px; color: red; font-family: Courier New; background-color: transparent;"&gt;=&lt;/span&gt;&lt;font color="#0000ff"&gt; New-Object&lt;/font&gt; &lt;font color="#000080"&gt;DirectoryServices.DirectoryEntry&lt;/font&gt; $user.Path;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$log+=$de.SAMAccountName &lt;span style="font-size: 11px; color: red; font-family: Courier New; background-color: transparent;"&gt;+&lt;/span&gt; &lt;span style="font-size: 11px; color: rgb(102, 102, 102); font-family: Courier New; background-color: rgb(228, 228, 228);"&gt;"
"&lt;/span&gt; &lt;span style="font-size: 11px; color: red; font-family: Courier New; background-color: transparent;"&gt;+&lt;/span&gt; $de.displayName&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$de.displayName=([&lt;font color="#000080"&gt;String&lt;/font&gt;]$de.displayName).Replace(&lt;span style="font-size: 11px; color: rgb(102, 102, 102); font-family: Courier New; background-color: rgb(228, 228, 228);"&gt;"
"&lt;/span&gt;,&lt;span style="font-size: 11px; color: rgb(102, 102, 102); font-family: Courier New; background-color: rgb(228, 228, 228);"&gt;"
"&lt;/span&gt;)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$l++&lt;br&gt;
}&lt;br&gt;
&lt;br&gt;
echo &lt;span style="font-size: 11px; color: rgb(102, 102, 102); font-family: Courier New; background-color: rgb(228, 228, 228);"&gt;"Przetworzonych
"&lt;/span&gt; $l &lt;span style="font-size: 11px; color: red; font-family: Courier New; background-color: transparent;"&gt;|&lt;/span&gt; &lt;font color="#0000ff"&gt;&lt;span style="font-size: 11px; color: blue; font-family: Courier New; background-color: transparent;"&gt;out&lt;/span&gt;-file&lt;/font&gt; $logname
-Append&lt;br&gt;
$log| &lt;font color="#0000ff"&gt;&lt;span style="font-size: 11px; color: blue; font-family: Courier New; background-color: transparent;"&gt;out&lt;/span&gt;-file&lt;/font&gt; $logname
-Append&lt;br&gt;
&lt;br&gt;
echo &lt;span style="font-size: 11px; color: rgb(102, 102, 102); font-family: Courier New; background-color: rgb(228, 228, 228);"&gt;"Przetworzonych
"&lt;/span&gt; $l&lt;br&gt;
$log&lt;/span&gt; 
&lt;/p&gt;
&lt;p&gt;
A ten skrypt poprawia błąd, w którym nazwisko jest powtórzone 2 razy:
&lt;/p&gt;
&lt;p&gt;
&lt;span style="font-size: 11px; color: black; font-family: Courier New; background-color: transparent;"&gt;$data=&lt;font color="#0000ff"&gt;get-date&lt;/font&gt; -format
g&lt;br&gt;
$comment=&lt;span style="font-size: 11px; color: rgb(102, 102, 102); font-family: Courier New; background-color: rgb(228, 228, 228);"&gt;"[changedDN
"&lt;/span&gt;&lt;span style="font-size: 11px; color: red; font-family: Courier New; background-color: transparent;"&gt;+&lt;/span&gt;$data+&lt;span style="font-size: 11px; color: rgb(102, 102, 102); font-family: Courier New; background-color: rgb(228, 228, 228);"&gt;"by
PeKi]"&lt;/span&gt;
&lt;br&gt;
$logname &lt;span style="font-size: 11px; color: red; font-family: Courier New; background-color: transparent;"&gt;=&lt;/span&gt; &lt;span style="font-size: 11px; color: rgb(102, 102, 102); font-family: Courier New; background-color: rgb(228, 228, 228);"&gt;"changedDNGN"&lt;/span&gt;;&lt;br&gt;
$logname += &lt;font color="#0000ff"&gt;get-date&lt;/font&gt; -format &lt;span style="font-size: 11px; color: rgb(102, 102, 102); font-family: Courier New; background-color: rgb(228, 228, 228);"&gt;"yyyyMMdd_hhmmss"&lt;/span&gt;;&lt;br&gt;
$logname +=&lt;span style="font-size: 11px; color: rgb(102, 102, 102); font-family: Courier New; background-color: rgb(228, 228, 228);"&gt;".log"&lt;/span&gt;;&lt;br&gt;
&lt;br&gt;
$Root &lt;span style="font-size: 11px; color: red; font-family: Courier New; background-color: transparent;"&gt;=&lt;/span&gt; &lt;font color="#0000ff"&gt;New-Object&lt;/font&gt; &lt;font color="#000080"&gt;DirectoryServices.DirectoryEntry&lt;/font&gt; $strROOT&lt;br&gt;
Searcher &lt;span style="font-size: 11px; color: red; font-family: Courier New; background-color: transparent;"&gt;=&lt;/span&gt; &lt;font color="#0000ff"&gt;New-Object&lt;/font&gt; &lt;font color="#000080"&gt;DirectoryServices.DirectorySearcher&lt;/font&gt;
&lt;br&gt;
$Searcher.SearchRoot &lt;span style="font-size: 11px; color: red; font-family: Courier New; background-color: transparent;"&gt;=&lt;/span&gt; $root&lt;br&gt;
$searcher.Filter &lt;span style="font-size: 11px; color: red; font-family: Courier New; background-color: transparent;"&gt;=&lt;/span&gt; &lt;span style="font-size: 11px; color: rgb(102, 102, 102); font-family: Courier New; background-color: rgb(228, 228, 228);"&gt;"(&amp;amp;(objectClass=person)(objectcategory=person)(displayname=*
* *)(givenName=* *)(sn=*))"&lt;/span&gt;;&lt;br&gt;
$users &lt;span style="font-size: 11px; color: red; font-family: Courier New; background-color: transparent;"&gt;=&lt;/span&gt; $searcher.findAll(); 
&lt;br&gt;
$log=@();&lt;br&gt;
$l=0&lt;br&gt;
&lt;span style="font-size: 11px; color: blue; font-family: Courier New; background-color: transparent;"&gt;foreach&lt;/span&gt; ($user &lt;span style="font-size: 11px; color: blue; font-family: Courier New; background-color: transparent;"&gt;in&lt;/span&gt; $users)&lt;br&gt;
{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$de &lt;span style="font-size: 11px; color: red; font-family: Courier New; background-color: transparent;"&gt;=&lt;/span&gt; &lt;font color="#0000ff"&gt;New-Object&lt;/font&gt; DirectoryServices&lt;font color="#000080"&gt;.DirectoryEntry&lt;/font&gt; $user.Path;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; $gns=([String]$de.givenName).Split(' ')[1].tolower()&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$sn=([String]$de.sn).tolower()&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="font-size: 11px; color: blue; font-family: Courier New; background-color: transparent;"&gt;if&lt;/span&gt; ($gns.CompareTo($sn) &lt;font color="#0000ff"&gt;-eq&lt;/font&gt; 0)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$newGN=([String]$de.givenName).Split(' ')[0];&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$newDN=$newGN+&lt;span style="font-size: 11px; color: rgb(102, 102, 102); font-family: Courier New; background-color: rgb(228, 228, 228);"&gt;"
"&lt;/span&gt;&lt;span style="font-size: 11px; color: red; font-family: Courier New; background-color: transparent;"&gt;+&lt;/span&gt;([String]$de.sn)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; $log+=$de.SAMAccountName+ $de.givenName &lt;span style="font-size: 11px; color: red; font-family: Courier New; background-color: transparent;"&gt;+&lt;/span&gt; $de.displayName &lt;span style="font-size: 11px; color: red; font-family: Courier New; background-color: transparent;"&gt;+&lt;/span&gt; $newGN &lt;span style="font-size: 11px; color: red; font-family: Courier New; background-color: transparent;"&gt;+&lt;/span&gt;$newDN 
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;write-host $l&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$de.givenName=$newGN&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$de.displayName=$newDN 
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$l++&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br&gt;
}&lt;br&gt;
&lt;br&gt;
&lt;font color="#0000ff"&gt;echo&lt;/font&gt; &lt;span style="font-size: 11px; color: rgb(102, 102, 102); font-family: Courier New; background-color: rgb(228, 228, 228);"&gt;"Przetworzonych
"&lt;/span&gt; $l &lt;span style="font-size: 11px; color: red; font-family: Courier New; background-color: transparent;"&gt;|&lt;/span&gt; &lt;font color="#0000ff"&gt;&lt;span style="font-size: 11px; color: blue; font-family: Courier New; background-color: transparent;"&gt;out&lt;/span&gt;-file&lt;/font&gt; $logname
-Append&lt;br&gt;
$log| &lt;font color="#0000ff"&gt;&lt;span style="font-size: 11px; color: blue; font-family: Courier New; background-color: transparent;"&gt;out&lt;/span&gt;-file&lt;/font&gt; $logname
-Append&lt;br&gt;
&lt;br&gt;
&lt;font color="#0000ff"&gt;echo&lt;/font&gt; &lt;span style="font-size: 11px; color: rgb(102, 102, 102); font-family: Courier New; background-color: rgb(228, 228, 228);"&gt;"Przetworzonych
"&lt;/span&gt; $l&lt;br&gt;
$log&lt;br&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://umniedziala.pl/aggbug.ashx?id=f2d7eba1-8ee5-472c-9fbe-c0abad4ed35f" /&gt;</description>
      <comments>http://umniedziala.pl/CommentView,guid,f2d7eba1-8ee5-472c-9fbe-c0abad4ed35f.aspx</comments>
      <category>PowerShell</category>
      <category>Windows</category>
    </item>
    <item>
      <trackback:ping>http://umniedziala.pl/Trackback.aspx?guid=9726f8fc-6e3a-4a19-be9c-af9b317855ed</trackback:ping>
      <pingback:server>http://umniedziala.pl/pingback.aspx</pingback:server>
      <pingback:target>http://umniedziala.pl/PermaLink,guid,9726f8fc-6e3a-4a19-be9c-af9b317855ed.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <wfw:comment>http://umniedziala.pl/CommentView,guid,9726f8fc-6e3a-4a19-be9c-af9b317855ed.aspx</wfw:comment>
      <wfw:commentRss>http://umniedziala.pl/SyndicationService.asmx/GetEntryCommentsRss?guid=9726f8fc-6e3a-4a19-be9c-af9b317855ed</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Kiedyś napisałem posta o <a href="http://peki.pjwstk.edu.pl/blog/WysylanieMeijliZeSkryptowCzyliCDOMessage.aspx">CDO.Message
w VBScripcie</a> , teraz więc pora na Powershella.
</p>
        <p>
          <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">$objMessage
= <font color="#0000ff">new-object</font> -com <font color="#000080">CDO.Message<br /></font>$objMessage.<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"><font color="#000000">From</font></span> =
"`"Krzysztof Pietrzak`" &lt;pkrzysz@nospam.pjwstk.edu.pl&gt;"<br />
$objMessage.<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"><font color="#000000">To</font></span> =
"pkrzysz@nospam.pjwstk.edu.pl"<br />
$objMessage.Subject = " Message Subject"<br />
$objMessage.TextBody = "Body of message"<br /><font color="#006400"># Send using SMTP</font><br />
$objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing")
= 2<br /><font color="#006400">#SMTP Server</font><br />
$objMessage.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver")
= "mail.server.org"<br /><font color="#006400">#SMTP Server Port</font><br />
$objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport")
= 25<br /><font color="#006400">#Authenticaztion 1-Baasic, 2-NTLM</font><br />
$objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate")
= 2<br /><font color="#006400">#<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"><font color="#006400">Use</font></span> ssl</font><br />
$objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl")
= 0<br /><font color="#006400">#Timeout</font><br />
$objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout")
= 60<br /><br />
$objMessage.Configuration.Fields.<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"><font color="#000000">Update</font></span>()<br />
$objMessage.Send()<br /><br /><font face="Verdana">I oczywiście przykład z <font color="#003300" size="2">uzyciem
normalnej autoryzacji i SSL/TLS:</font></font></span>
        </p>
        <p>
          <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">
            <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">$objMessage
= <font color="#0000ff">new-object</font> -com <font color="#000080">CDO.Message<br /></font>$objMessage.<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"><font color="#000000">From</font></span> =
"`"Krzysztof Pietrzak`" &lt;pkrzysz@nospam.pjwstk.edu.pl&gt;"<br />
$objMessage.<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"><font color="#000000">To</font></span> =
"pkrzysz@nospam.pjwstk.edu.pl"<br />
$objMessage.Subject = " Message Subject"<br />
$objMessage.TextBody = "Body of message"<br /><font color="#006400"># Send using SMTP</font><br />
$objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing")
= 2<br /><font color="#006400">#SMTP Server</font><br />
$objMessage.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver")
= "dfs2"<br /><font color="#006400">#SMTP Server Port</font><br />
$objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport")
= 25<br /><font color="#006400">#Authenticaztion 1-Baasic, 2-NTLM</font><br />
$objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate")
= 1<br /><font color="#006400">#UserID</font><br />
$objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername")
= "yourUser"<br /><font color="#006400">#Password</font><br />
$objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword")
= "yourpassword"<br /><font color="#006400">#<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"><font color="#006400">Use</font></span> ssl</font><br />
$objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl")
= 1<br /><font color="#006400">#Timeout</font><br />
$objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout")
= 60<br /><br />
$objMessage.Configuration.Fields.<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"><font color="#000000">Update</font></span>()<br />
$objMessage.Send()</span>
          </span>
        </p>
        <p>
          <br />
 
</p>
        <img width="0" height="0" src="http://umniedziala.pl/aggbug.ashx?id=9726f8fc-6e3a-4a19-be9c-af9b317855ed" />
      </body>
      <title>CDO.Message w Powershell</title>
      <guid isPermaLink="false">http://umniedziala.pl/PermaLink,guid,9726f8fc-6e3a-4a19-be9c-af9b317855ed.aspx</guid>
      <link>http://UMnieDziala.pl/CDOMessageWPowershell.aspx</link>
      <pubDate>Mon, 05 Jun 2006 09:58:04 GMT</pubDate>
      <description>&lt;p&gt;
Kiedyś napisałem posta o &lt;a href="http://peki.pjwstk.edu.pl/blog/WysylanieMeijliZeSkryptowCzyliCDOMessage.aspx"&gt;CDO.Message
w VBScripcie&lt;/a&gt;&amp;nbsp;, teraz więc pora na Powershella.
&lt;/p&gt;
&lt;p&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;$objMessage
= &lt;font color=#0000ff&gt;new-object&lt;/font&gt; -com &lt;font color=#000080&gt;CDO.Message&lt;br&gt;
&lt;/font&gt;$objMessage.&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;font color=#000000&gt;From&lt;/font&gt;&lt;/span&gt; =
"`"Krzysztof Pietrzak`" &amp;lt;pkrzysz@nospam.pjwstk.edu.pl&amp;gt;"&lt;br&gt;
$objMessage.&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;font color=#000000&gt;To&lt;/font&gt;&lt;/span&gt; =
"pkrzysz@nospam.pjwstk.edu.pl"&lt;br&gt;
$objMessage.Subject = " Message Subject"&lt;br&gt;
$objMessage.TextBody = "Body of message"&lt;br&gt;
&lt;font color=#006400&gt;# Send using SMTP&lt;/font&gt;
&lt;br&gt;
$objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing")
= 2&lt;br&gt;
&lt;font color=#006400&gt;#SMTP Server&lt;/font&gt;
&lt;br&gt;
$objMessage.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver")
= "mail.server.org"&lt;br&gt;
&lt;font color=#006400&gt;#SMTP Server Port&lt;/font&gt;
&lt;br&gt;
$objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport")
= 25&lt;br&gt;
&lt;font color=#006400&gt;#Authenticaztion 1-Baasic, 2-NTLM&lt;/font&gt;
&lt;br&gt;
$objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate")
= 2&lt;br&gt;
&lt;font color=#006400&gt;#&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;font color=#006400&gt;Use&lt;/font&gt;&lt;/span&gt; ssl&lt;/font&gt;
&lt;br&gt;
$objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl")
= 0&lt;br&gt;
&lt;font color=#006400&gt;#Timeout&lt;/font&gt;
&lt;br&gt;
$objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout")
= 60&lt;br&gt;
&lt;br&gt;
$objMessage.Configuration.Fields.&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;font color=#000000&gt;Update&lt;/font&gt;&lt;/span&gt;()&lt;br&gt;
$objMessage.Send()&lt;br&gt;
&lt;br&gt;
&lt;font face=Verdana&gt;I oczywiście przykład z &lt;font color=#003300 size=2&gt;uzyciem normalnej
autoryzacji i SSL/TLS:&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;$objMessage
= &lt;font color=#0000ff&gt;new-object&lt;/font&gt; -com &lt;font color=#000080&gt;CDO.Message&lt;br&gt;
&lt;/font&gt;$objMessage.&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;font color=#000000&gt;From&lt;/font&gt;&lt;/span&gt; =
"`"Krzysztof Pietrzak`" &amp;lt;pkrzysz@nospam.pjwstk.edu.pl&amp;gt;"&lt;br&gt;
$objMessage.&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;font color=#000000&gt;To&lt;/font&gt;&lt;/span&gt; =
"pkrzysz@nospam.pjwstk.edu.pl"&lt;br&gt;
$objMessage.Subject = " Message Subject"&lt;br&gt;
$objMessage.TextBody = "Body of message"&lt;br&gt;
&lt;font color=#006400&gt;# Send using SMTP&lt;/font&gt;
&lt;br&gt;
$objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing")
= 2&lt;br&gt;
&lt;font color=#006400&gt;#SMTP Server&lt;/font&gt;
&lt;br&gt;
$objMessage.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver")
= "dfs2"&lt;br&gt;
&lt;font color=#006400&gt;#SMTP Server Port&lt;/font&gt;
&lt;br&gt;
$objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport")
= 25&lt;br&gt;
&lt;font color=#006400&gt;#Authenticaztion 1-Baasic, 2-NTLM&lt;/font&gt;
&lt;br&gt;
$objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate")
= 1&lt;br&gt;
&lt;font color=#006400&gt;#UserID&lt;/font&gt;
&lt;br&gt;
$objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername")
= "yourUser"&lt;br&gt;
&lt;font color=#006400&gt;#Password&lt;/font&gt;
&lt;br&gt;
$objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword")
= "yourpassword"&lt;br&gt;
&lt;font color=#006400&gt;#&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;font color=#006400&gt;Use&lt;/font&gt;&lt;/span&gt; ssl&lt;/font&gt;
&lt;br&gt;
$objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl")
= 1&lt;br&gt;
&lt;font color=#006400&gt;#Timeout&lt;/font&gt;
&lt;br&gt;
$objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout")
= 60&lt;br&gt;
&lt;br&gt;
$objMessage.Configuration.Fields.&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;font color=#000000&gt;Update&lt;/font&gt;&lt;/span&gt;()&lt;br&gt;
$objMessage.Send()&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;br&gt;
&amp;nbsp;
&lt;/p&gt;
&gt;&lt;img width="0" height="0" src="http://umniedziala.pl/aggbug.ashx?id=9726f8fc-6e3a-4a19-be9c-af9b317855ed" /&gt;</description>
      <comments>http://umniedziala.pl/CommentView,guid,9726f8fc-6e3a-4a19-be9c-af9b317855ed.aspx</comments>
      <category>PowerShell</category>
    </item>
    <item>
      <trackback:ping>http://umniedziala.pl/Trackback.aspx?guid=8d8867ae-96aa-476a-9c9a-bef142b5f286</trackback:ping>
      <pingback:server>http://umniedziala.pl/pingback.aspx</pingback:server>
      <pingback:target>http://umniedziala.pl/PermaLink,guid,8d8867ae-96aa-476a-9c9a-bef142b5f286.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <wfw:comment>http://umniedziala.pl/CommentView,guid,8d8867ae-96aa-476a-9c9a-bef142b5f286.aspx</wfw:comment>
      <wfw:commentRss>http://umniedziala.pl/SyndicationService.asmx/GetEntryCommentsRss?guid=8d8867ae-96aa-476a-9c9a-bef142b5f286</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
 Niektórzy użytkownicy nie mieli wpisanych parametrów określających nazwę katalogu
domowego, inni nie mieli przypisanego profilu mandatoryjnego na swoje konta. Dlatego
napisałem ten skrypcik który poprawił błędy:<br /></p>
        <p>
          <span style="font-size: 11px; color: black; font-family: Courier New; background-color: transparent;">$strRoot
= "LDAP://OU=studenci,dc=pjwstk,dc=edu,dc=pl"<br />
$logname = "blo";<br />
$logname += <font color="#0000ff">get-date</font> -format "yyyyMMdd_hhmmss";<br />
$logname +=".<span style="font-size: 11px; color: fuchsia; font-family: Courier New; background-color: transparent;"><font color="#000000">log</font></span>";<br /><br />
$Root = <font color="#000080">New-Object</font><font color="#0000ff">DirectoryServices.DirectoryEntry</font> $strROOT<br />
$Searcher = <font color="#000080">New-Object</font><font color="#0000ff">DirectoryServices.DirectorySearcher</font><br />
$Searcher.SearchRoot = $root<br /><br /><font color="#006400">#zla sciezka i home</font><br />
$searcher.Filter = "(&amp;(";<br />
$searcher.Filter+= "(&amp;(objectClass=<span style="font-size: 11px; color: fuchsia; font-family: Courier New; background-color: transparent;"><font color="#000000">User</font></span>)(name=s*)(!(name=sT*))(!(homedrive=*))(!(objectClass=Computer)))";<br />
$searcher.Filter+= "(&amp;(objectClass=<span style="font-size: 11px; color: fuchsia; font-family: Courier New; background-color: transparent;"><font color="#000000">User</font></span>)(name=s*)(!(name=sT*))(!(homedirectory=*))(!(objectClass=Computer)))";<br />
$searcher.Filter+= "))";<br />
$usersDir = $searcher.findAll(); 
<br />
$usersDir | <span style="font-size: 11px; color: blue; font-family: Courier New; background-color: transparent;">out</span>-<span style="font-size: 11px; color: blue; font-family: Courier New; background-color: transparent;">file</span> $logname<br /><font color="#0000ff">foreach</font> ($<span style="font-size: 11px; color: fuchsia; font-family: Courier New; background-color: transparent;"><font color="#000000">user</font></span><span style="font-size: 11px; color: silver; font-family: Courier New; background-color: transparent;">in</span> $usersDir)<br />
{<br />
 $de = <font color="#000080">New-Object</font> DirectoryServices.DirectoryEntry
$<span style="font-size: 11px; color: fuchsia; font-family: Courier New; background-color: transparent;"><font color="#000000">user</font></span>.Path<br />
 $de.homedrive="z:"<br />
 $homename="\\zet\"+$<span style="font-size: 11px; color: fuchsia; font-family: Courier New; background-color: transparent;"><font color="#000000">user</font></span>.Properties.name;<br />
 $de.homedirectory=$homename<br />
 $de.CommitChanges()<br />
}<br /><br /><font color="#006400">#Szukamy osoby bez profilu i wpisujemy profil mandatoryjny</font><br />
$searcher.Filter = "(&amp;(";<br />
$searcher.Filter+= "(&amp;(objectClass=<span style="font-size: 11px; color: fuchsia; font-family: Courier New; background-color: transparent;"><font color="#000000">User</font></span>)(name=s*)(!(name=sT*))(!(profilePath=*))(!(objectClass=Computer)))";<br />
$searcher.Filter+= "))";<br />
$usersPro = $searcher.findAll(); 
<br />
$usersPro | <font color="#0000ff">sort-object</font> -property Properties.name<br />
$usersPro | <span style="font-size: 11px; color: blue; font-family: Courier New; background-color: transparent;">out</span>-<span style="font-size: 11px; color: blue; font-family: Courier New; background-color: transparent;">file</span> $logname<br /><font color="#0000ff">foreach</font> ($<span style="font-size: 11px; color: fuchsia; font-family: Courier New; background-color: transparent;"><font color="#000000">user</font></span><span style="font-size: 11px; color: silver; font-family: Courier New; background-color: transparent;">in</span> $usersPro)<br />
{<br />
 $de = <font color="#000080">New-Object</font><font color="#0000ff">DirectoryServices.DirectoryEntry</font> $<span style="font-size: 11px; color: fuchsia; font-family: Courier New; background-color: transparent;">user</span>.Path<br />
 $de.profilepath="c:\documents <span style="font-size: 11px; color: silver; font-family: Courier New; background-color: transparent;">and</span> settings\mandatory"<br />
 $de.CommitChanges()<br />
}</span>
        </p>
        <p>
          <span style="font-size: 11px; color: black; font-family: Courier New; background-color: transparent;">
            <br />
 </span>
        </p>
        <img width="0" height="0" src="http://umniedziala.pl/aggbug.ashx?id=8d8867ae-96aa-476a-9c9a-bef142b5f286" />
      </body>
      <title>Poprawianie parametrow uzytkownikow</title>
      <guid isPermaLink="false">http://umniedziala.pl/PermaLink,guid,8d8867ae-96aa-476a-9c9a-bef142b5f286.aspx</guid>
      <link>http://UMnieDziala.pl/PoprawianieParametrowUzytkownikow.aspx</link>
      <pubDate>Fri, 02 Jun 2006 14:39:53 GMT</pubDate>
      <description>&lt;p&gt;
&amp;nbsp;Niektórzy użytkownicy nie mieli wpisanych parametrów określających nazwę katalogu
domowego, inni nie mieli przypisanego profilu mandatoryjnego na swoje konta. Dlatego
napisałem ten skrypcik który poprawił błędy:&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span style="font-size: 11px; color: black; font-family: Courier New; background-color: transparent;"&gt;$strRoot
= "LDAP://OU=studenci,dc=pjwstk,dc=edu,dc=pl"&lt;br&gt;
$logname = "blo";&lt;br&gt;
$logname += &lt;font color="#0000ff"&gt;get-date&lt;/font&gt; -format "yyyyMMdd_hhmmss";&lt;br&gt;
$logname +=".&lt;span style="font-size: 11px; color: fuchsia; font-family: Courier New; background-color: transparent;"&gt;&lt;font color="#000000"&gt;log&lt;/font&gt;&lt;/span&gt;";&lt;br&gt;
&lt;br&gt;
$Root = &lt;font color="#000080"&gt;New-Object&lt;/font&gt; &lt;font color="#0000ff"&gt;DirectoryServices.DirectoryEntry&lt;/font&gt; $strROOT&lt;br&gt;
$Searcher = &lt;font color="#000080"&gt;New-Object&lt;/font&gt; &lt;font color="#0000ff"&gt;DirectoryServices.DirectorySearcher&lt;/font&gt;
&lt;br&gt;
$Searcher.SearchRoot = $root&lt;br&gt;
&lt;br&gt;
&lt;font color="#006400"&gt;#zla sciezka i home&lt;/font&gt;
&lt;br&gt;
$searcher.Filter = "(&amp;amp;(";&lt;br&gt;
$searcher.Filter+= "(&amp;amp;(objectClass=&lt;span style="font-size: 11px; color: fuchsia; font-family: Courier New; background-color: transparent;"&gt;&lt;font color="#000000"&gt;User&lt;/font&gt;&lt;/span&gt;)(name=s*)(!(name=sT*))(!(homedrive=*))(!(objectClass=Computer)))";&lt;br&gt;
$searcher.Filter+= "(&amp;amp;(objectClass=&lt;span style="font-size: 11px; color: fuchsia; font-family: Courier New; background-color: transparent;"&gt;&lt;font color="#000000"&gt;User&lt;/font&gt;&lt;/span&gt;)(name=s*)(!(name=sT*))(!(homedirectory=*))(!(objectClass=Computer)))";&lt;br&gt;
$searcher.Filter+= "))";&lt;br&gt;
$usersDir = $searcher.findAll(); 
&lt;br&gt;
$usersDir | &lt;span style="font-size: 11px; color: blue; font-family: Courier New; background-color: transparent;"&gt;out&lt;/span&gt;-&lt;span style="font-size: 11px; color: blue; font-family: Courier New; background-color: transparent;"&gt;file&lt;/span&gt; $logname&lt;br&gt;
&lt;font color="#0000ff"&gt;foreach&lt;/font&gt; ($&lt;span style="font-size: 11px; color: fuchsia; font-family: Courier New; background-color: transparent;"&gt;&lt;font color="#000000"&gt;user&lt;/font&gt;&lt;/span&gt; &lt;span style="font-size: 11px; color: silver; font-family: Courier New; background-color: transparent;"&gt;in&lt;/span&gt; $usersDir)&lt;br&gt;
{&lt;br&gt;
&amp;nbsp;$de = &lt;font color="#000080"&gt;New-Object&lt;/font&gt; DirectoryServices.DirectoryEntry
$&lt;span style="font-size: 11px; color: fuchsia; font-family: Courier New; background-color: transparent;"&gt;&lt;font color="#000000"&gt;user&lt;/font&gt;&lt;/span&gt;.Path&lt;br&gt;
&amp;nbsp;$de.homedrive="z:"&lt;br&gt;
&amp;nbsp;$homename="\\zet\"+$&lt;span style="font-size: 11px; color: fuchsia; font-family: Courier New; background-color: transparent;"&gt;&lt;font color="#000000"&gt;user&lt;/font&gt;&lt;/span&gt;.Properties.name;&lt;br&gt;
&amp;nbsp;$de.homedirectory=$homename&lt;br&gt;
&amp;nbsp;$de.CommitChanges()&lt;br&gt;
}&lt;br&gt;
&lt;br&gt;
&lt;font color="#006400"&gt;#Szukamy osoby bez profilu i wpisujemy profil mandatoryjny&lt;/font&gt;
&lt;br&gt;
$searcher.Filter = "(&amp;amp;(";&lt;br&gt;
$searcher.Filter+= "(&amp;amp;(objectClass=&lt;span style="font-size: 11px; color: fuchsia; font-family: Courier New; background-color: transparent;"&gt;&lt;font color="#000000"&gt;User&lt;/font&gt;&lt;/span&gt;)(name=s*)(!(name=sT*))(!(profilePath=*))(!(objectClass=Computer)))";&lt;br&gt;
$searcher.Filter+= "))";&lt;br&gt;
$usersPro = $searcher.findAll(); 
&lt;br&gt;
$usersPro | &lt;font color="#0000ff"&gt;sort-object&lt;/font&gt; -property Properties.name&lt;br&gt;
$usersPro | &lt;span style="font-size: 11px; color: blue; font-family: Courier New; background-color: transparent;"&gt;out&lt;/span&gt;-&lt;span style="font-size: 11px; color: blue; font-family: Courier New; background-color: transparent;"&gt;file&lt;/span&gt; $logname&lt;br&gt;
&lt;font color="#0000ff"&gt;foreach&lt;/font&gt; ($&lt;span style="font-size: 11px; color: fuchsia; font-family: Courier New; background-color: transparent;"&gt;&lt;font color="#000000"&gt;user&lt;/font&gt;&lt;/span&gt; &lt;span style="font-size: 11px; color: silver; font-family: Courier New; background-color: transparent;"&gt;in&lt;/span&gt; $usersPro)&lt;br&gt;
{&lt;br&gt;
&amp;nbsp;$de = &lt;font color="#000080"&gt;New-Object&lt;/font&gt; &lt;font color="#0000ff"&gt;DirectoryServices.DirectoryEntry&lt;/font&gt; $&lt;span style="font-size: 11px; color: fuchsia; font-family: Courier New; background-color: transparent;"&gt;user&lt;/span&gt;.Path&lt;br&gt;
&amp;nbsp;$de.profilepath="c:\documents &lt;span style="font-size: 11px; color: silver; font-family: Courier New; background-color: transparent;"&gt;and&lt;/span&gt; settings\mandatory"&lt;br&gt;
&amp;nbsp;$de.CommitChanges()&lt;br&gt;
}&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span style="font-size: 11px; color: black; font-family: Courier New; background-color: transparent;"&gt;
&lt;br&gt;
&amp;nbsp;&lt;/span&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://umniedziala.pl/aggbug.ashx?id=8d8867ae-96aa-476a-9c9a-bef142b5f286" /&gt;</description>
      <comments>http://umniedziala.pl/CommentView,guid,8d8867ae-96aa-476a-9c9a-bef142b5f286.aspx</comments>
      <category>PowerShell</category>
    </item>
    <item>
      <trackback:ping>http://umniedziala.pl/Trackback.aspx?guid=d9ad47eb-51c6-4dd3-99c0-fb6c78172206</trackback:ping>
      <pingback:server>http://umniedziala.pl/pingback.aspx</pingback:server>
      <pingback:target>http://umniedziala.pl/PermaLink,guid,d9ad47eb-51c6-4dd3-99c0-fb6c78172206.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <wfw:comment>http://umniedziala.pl/CommentView,guid,d9ad47eb-51c6-4dd3-99c0-fb6c78172206.aspx</wfw:comment>
      <wfw:commentRss>http://umniedziala.pl/SyndicationService.asmx/GetEntryCommentsRss?guid=d9ad47eb-51c6-4dd3-99c0-fb6c78172206</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Przyszła lista kont do zablokowania, oczywiście w formacie .xls.  Jako ze konta
powinny być blokowane jak najszybciej, a osoba która sie tym zajmuje ma dzisiaj wolne,
na mnie spadł ten obowiązek.
</p>
        <p>
Na początku trzeba było dodać nagłówki do kolumn w excelu, a następnie wyeksportować
wynik do pliku .csv.
</p>
        <p>
Następnie w ciągu 3h napisałem taki skrypcik
</p>
        <p>
          <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">
            <font color="#008000">#configuration</font>
            <br />
            <br />
$lista <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span><font color="#0000ff">Import-Csv</font> blokada.csv<br />
$studentOU=<span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"OU=studenci,DC=pjwstk,DC=edu,DC=pl"</span><br />
$data=<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">get</span>-<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">date</span> -<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"><font color="#000000">format</font></span> g<br />
$comment=<span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"[blocked
"</span><span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">+</span>$data+<span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"by
PeKi script(dziekanat)]"</span><br />
$logname <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span><span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"log"</span>;<br />
$logname += <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">get</span>-<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">date</span> -<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"><font color="#000000">format</font></span><span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"yyyyMMdd_hhmmss"</span>;<br />
$logname +=<span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">".log"</span>;<br /><br /><font color="#008000">#processing</font><br />
$<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"><font color="#000000">log</font></span>=@();<br />
$notFoundLog=<font color="#0000ff">@()</font>;<br />
$alreadyDisabled=<font color="#0000ff">@()</font>;<br />
$l=0<br />
$k=0;<br /><font color="#0000ff">foreach</font> ($user <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">in</span> $lista)<br />
{<br />
$l++;<br />
$stud=<span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"LDAP://CN=s"</span><span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">+</span>$user.Album+<span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">","</span><span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">+</span>$studentOU;<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">if</span> ([<font color="#0000ff"><font color="#000080">DirectoryServices.DirectoryEntry</font>]::Exists</font>($stud))<br />
{<br />
$de <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">new</span>-<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">object</span><font color="#000080">DirectoryServices.DirectoryEntry</font>($stud);<br />
$uac=$de.userAccountControl;<br />
$iuac=[<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">int</span>]$uac.toString();<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">if</span> (($iuac <font color="#0000ff">-band</font> 2) <font color="#0000ff">-eq</font> 0
)<br />
{<br />
$iuac+=2;<br />
$deLastName=$de.InvokeGet(<span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"LastName"</span>);<br />
$k++;<br />
$deFirstName=$de.InvokeGet(<span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"FirstName"</span>);<br />
$deCommonName=$de.InvokeGet(<span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"cn"</span>);<br />
$deComment=$de.InvokeGet(<span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"comment"</span>);<br />
$deDescription=$de.InvokeGet(<span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"Description"</span>);<br />
$<font color="#000000"><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">date</span></font><span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">get</span>-<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">date</span> -<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"><font color="#000000">format</font></span> g;<br />
$deComment=$deComment+$comment;<br />
$deDescription=$comment+$deDescription;<br />
$<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"><font color="#000000">log</font></span>+=
$deCommonName+<span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"
"</span><span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">+</span>$deLastName <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">+</span><span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"
"</span><span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">+</span>$deFirstName <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">+</span><span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"
"</span>;<br /><br />
$de.InvokeSet(<span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"comment"</span>,[<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">string</span>]$deComment);<br />
$de.InvokeSet(<span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"Description"</span>,[<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">string</span>]$deDescription);<br />
$de.InvokeSet(<span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"userAccountControl"</span>,[<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">int</span>]$iuac);<br />
$de.CommitChanges();<br />
$de.close();<br />
}<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">else</span><br />
{<br />
$alreadyDisabled+= <span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"disabled:"</span><span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">+</span>$user.Album <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">+</span><span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"uac:
"</span><span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">+</span>$uac;<br />
}<br />
}<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">else</span><br />
{<br />
$notFoundLog+= <span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"not
found:"</span><span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">+</span>$user.Album <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">+</span><span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"
cn: "</span><span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">+</span>$stud
;<br />
}<br />
}<br /><br /><font color="#008000">#output</font><br /><font color="#0000ff">echo</font><span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"dobrych"</span>| <font color="#0000ff">out-file</font> $logname
-Append<br />
$<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"><font color="#000000">log</font></span>| <font color="#0000ff">out-file</font> $logname
-Append<br /><font color="#0000ff">echo</font><span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"zlych"</span>| <font color="#0000ff">out-file</font> $logname
-Append<br />
$notFoundLog| <font color="#0000ff">out-file</font> $logname -Append<br />
$alreadyDisabled| <font color="#0000ff">out-file</font> $logname -Append<br /><font color="#0000ff">echo</font><span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"prztworzonych"</span> $k <span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"
z "</span> $l| <font color="#0000ff">out-file</font> $logname -Append<br /><br /><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">write</span><font color="#000080">-host</font><span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"dobrych"</span>;<br />
$<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"><font color="#000000">log</font></span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">write</span><font color="#0000ff">-host</font><span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"zlych"</span>;<br />
$notFoundLog<br />
$alreadyDisabled<br /><font color="#0000ff"><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">write</span>-host</font><span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"prztworzonych"</span> $k <span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"
z "</span> $l;<br /><br /></span>
        </p>
        <p>
Z ciekawszych rzeczy w tym skrypcie widać:
</p>
        <ul>
          <li>
deklarację ($param=@()) i zapisywanie do tablicy ($param+="wartosc") 
</li>
          <li>
porównywanie bitowe za pomocą -band</li>
          <li>
wywołanie statycznej procedury za pomocą [sciezka.do.klasy]::procedura()</li>
          <li>
zapisywanie do pliku za pomocą out-file<br /></li>
        </ul>
        <img width="0" height="0" src="http://umniedziala.pl/aggbug.ashx?id=d9ad47eb-51c6-4dd3-99c0-fb6c78172206" />
      </body>
      <title>Powershell i blokada kont</title>
      <guid isPermaLink="false">http://umniedziala.pl/PermaLink,guid,d9ad47eb-51c6-4dd3-99c0-fb6c78172206.aspx</guid>
      <link>http://UMnieDziala.pl/PowershellIBlokadaKont.aspx</link>
      <pubDate>Tue, 23 May 2006 14:27:58 GMT</pubDate>
      <description>&lt;p&gt;
Przyszła lista kont do zablokowania, oczywiście w formacie .xls.&amp;nbsp; Jako ze konta
powinny być blokowane jak najszybciej, a osoba która sie tym zajmuje ma dzisiaj wolne,
na mnie spadł ten obowiązek.
&lt;/p&gt;
&lt;p&gt;
Na początku trzeba było dodać nagłówki do kolumn w excelu, a następnie wyeksportować
wynik do pliku .csv.
&lt;/p&gt;
&lt;p&gt;
Następnie w ciągu 3h napisałem taki skrypcik
&lt;/p&gt;
&lt;p&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;font color=#008000&gt;#configuration&lt;/font&gt;
&lt;br&gt;
&lt;br&gt;
$lista &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; &lt;font color=#0000ff&gt;Import-Csv&lt;/font&gt; blokada.csv&lt;br&gt;
$studentOU=&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"OU=studenci,DC=pjwstk,DC=edu,DC=pl"&lt;/span&gt;
&lt;br&gt;
$data=&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;get&lt;/span&gt;-&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;date&lt;/span&gt; -&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;font color=#000000&gt;format&lt;/font&gt;&lt;/span&gt; g&lt;br&gt;
$comment=&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"[blocked
"&lt;/span&gt;&lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;+&lt;/span&gt;$data+&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"by
PeKi script(dziekanat)]"&lt;/span&gt;
&lt;br&gt;
$logname &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"log"&lt;/span&gt;;&lt;br&gt;
$logname += &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;get&lt;/span&gt;-&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;date&lt;/span&gt; -&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;font color=#000000&gt;format&lt;/font&gt;&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"yyyyMMdd_hhmmss"&lt;/span&gt;;&lt;br&gt;
$logname +=&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;".log"&lt;/span&gt;;&lt;br&gt;
&lt;br&gt;
&lt;font color=#008000&gt;#processing&lt;/font&gt;
&lt;br&gt;
$&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;font color=#000000&gt;log&lt;/font&gt;&lt;/span&gt;=@();&lt;br&gt;
$notFoundLog=&lt;font color=#0000ff&gt;@()&lt;/font&gt;;&lt;br&gt;
$alreadyDisabled=&lt;font color=#0000ff&gt;@()&lt;/font&gt;;&lt;br&gt;
$l=0&lt;br&gt;
$k=0;&lt;br&gt;
&lt;font color=#0000ff&gt;foreach&lt;/font&gt; ($user &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;in&lt;/span&gt; $lista)&lt;br&gt;
{&lt;br&gt;
$l++;&lt;br&gt;
$stud=&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"LDAP://CN=s"&lt;/span&gt;&lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;+&lt;/span&gt;$user.Album+&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;","&lt;/span&gt;&lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;+&lt;/span&gt;$studentOU;&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;if&lt;/span&gt; ([&lt;font color=#0000ff&gt;&lt;font color=#000080&gt;DirectoryServices.DirectoryEntry&lt;/font&gt;]::Exists&lt;/font&gt;($stud))&lt;br&gt;
{&lt;br&gt;
$de &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;new&lt;/span&gt;-&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;object&lt;/span&gt; &lt;font color=#000080&gt;DirectoryServices.DirectoryEntry&lt;/font&gt;($stud);&lt;br&gt;
$uac=$de.userAccountControl;&lt;br&gt;
$iuac=[&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;int&lt;/span&gt;]$uac.toString();&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;if&lt;/span&gt; (($iuac &lt;font color=#0000ff&gt;-band&lt;/font&gt; 2) &lt;font color=#0000ff&gt;-eq&lt;/font&gt; 0
)&lt;br&gt;
{&lt;br&gt;
$iuac+=2;&lt;br&gt;
$deLastName=$de.InvokeGet(&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"LastName"&lt;/span&gt;);&lt;br&gt;
$k++;&lt;br&gt;
$deFirstName=$de.InvokeGet(&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"FirstName"&lt;/span&gt;);&lt;br&gt;
$deCommonName=$de.InvokeGet(&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"cn"&lt;/span&gt;);&lt;br&gt;
$deComment=$de.InvokeGet(&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"comment"&lt;/span&gt;);&lt;br&gt;
$deDescription=$de.InvokeGet(&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"Description"&lt;/span&gt;);&lt;br&gt;
$&lt;font color=#000000&gt;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;date&lt;/span&gt; &lt;/font&gt;&lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;get&lt;/span&gt;-&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;date&lt;/span&gt; -&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;font color=#000000&gt;format&lt;/font&gt;&lt;/span&gt; g;&lt;br&gt;
$deComment=$deComment+$comment;&lt;br&gt;
$deDescription=$comment+$deDescription;&lt;br&gt;
$&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;font color=#000000&gt;log&lt;/font&gt;&lt;/span&gt;+=
$deCommonName+&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"
"&lt;/span&gt;&lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;+&lt;/span&gt;$deLastName &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;+&lt;/span&gt;&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"
"&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;+&lt;/span&gt;$deFirstName &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;+&lt;/span&gt;&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"
"&lt;/span&gt;;&lt;br&gt;
&lt;br&gt;
$de.InvokeSet(&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"comment"&lt;/span&gt;,[&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;string&lt;/span&gt;]$deComment);&lt;br&gt;
$de.InvokeSet(&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"Description"&lt;/span&gt;,[&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;string&lt;/span&gt;]$deDescription);&lt;br&gt;
$de.InvokeSet(&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"userAccountControl"&lt;/span&gt;,[&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;int&lt;/span&gt;]$iuac);&lt;br&gt;
$de.CommitChanges();&lt;br&gt;
$de.close();&lt;br&gt;
}&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;else&lt;/span&gt;
&lt;br&gt;
{&lt;br&gt;
$alreadyDisabled+= &lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"disabled:"&lt;/span&gt;&lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;+&lt;/span&gt;$user.Album &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;+&lt;/span&gt;&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"uac:
"&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;+&lt;/span&gt;$uac;&lt;br&gt;
}&lt;br&gt;
}&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;else&lt;/span&gt; 
&lt;br&gt;
{&lt;br&gt;
$notFoundLog+= &lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"not
found:"&lt;/span&gt;&lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;+&lt;/span&gt;$user.Album &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;+&lt;/span&gt;&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"
cn: "&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;+&lt;/span&gt;$stud
;&lt;br&gt;
}&lt;br&gt;
}&lt;br&gt;
&lt;br&gt;
&lt;font color=#008000&gt;#output&lt;/font&gt;
&lt;br&gt;
&lt;font color=#0000ff&gt;echo&lt;/font&gt; &lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"dobrych"&lt;/span&gt;| &lt;font color=#0000ff&gt;out-file&lt;/font&gt; $logname
-Append&lt;br&gt;
$&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;font color=#000000&gt;log&lt;/font&gt;&lt;/span&gt;| &lt;font color=#0000ff&gt;out-file&lt;/font&gt; $logname
-Append&lt;br&gt;
&lt;font color=#0000ff&gt;echo&lt;/font&gt; &lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"zlych"&lt;/span&gt;| &lt;font color=#0000ff&gt;out-file&lt;/font&gt; $logname
-Append&lt;br&gt;
$notFoundLog| &lt;font color=#0000ff&gt;out-file&lt;/font&gt; $logname -Append&lt;br&gt;
$alreadyDisabled| &lt;font color=#0000ff&gt;out-file&lt;/font&gt; $logname -Append&lt;br&gt;
&lt;font color=#0000ff&gt;echo&lt;/font&gt; &lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"prztworzonych"&lt;/span&gt; $k &lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"
z "&lt;/span&gt; $l| &lt;font color=#0000ff&gt;out-file&lt;/font&gt; $logname -Append&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;write&lt;/span&gt;&lt;font color=#000080&gt;-host&lt;/font&gt; &lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"dobrych"&lt;/span&gt;;&lt;br&gt;
$&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;font color=#000000&gt;log&lt;/font&gt;&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;write&lt;/span&gt;&lt;font color=#0000ff&gt;-host&lt;/font&gt; &lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"zlych"&lt;/span&gt;;&lt;br&gt;
$notFoundLog&lt;br&gt;
$alreadyDisabled&lt;br&gt;
&lt;font color=#0000ff&gt;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;write&lt;/span&gt;-host&lt;/font&gt; &lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"prztworzonych"&lt;/span&gt; $k &lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"
z "&lt;/span&gt; $l;&lt;br&gt;
&lt;br&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
Z ciekawszych rzeczy w tym skrypcie widać:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
deklarację ($param=@()) i zapisywanie do tablicy ($param+="wartosc") 
&lt;/li&gt;
&lt;li&gt;
porównywanie bitowe za pomocą -band&lt;/li&gt;
&lt;li&gt;
wywołanie statycznej procedury za pomocą [sciezka.do.klasy]::procedura()&lt;/li&gt;
&lt;li&gt;
zapisywanie do pliku za pomocą out-file&lt;br&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img width="0" height="0" src="http://umniedziala.pl/aggbug.ashx?id=d9ad47eb-51c6-4dd3-99c0-fb6c78172206" /&gt;</description>
      <comments>http://umniedziala.pl/CommentView,guid,d9ad47eb-51c6-4dd3-99c0-fb6c78172206.aspx</comments>
      <category>PowerShell</category>
    </item>
    <item>
      <trackback:ping>http://umniedziala.pl/Trackback.aspx?guid=c68da307-e290-4732-9f76-2daf7c597e6c</trackback:ping>
      <pingback:server>http://umniedziala.pl/pingback.aspx</pingback:server>
      <pingback:target>http://umniedziala.pl/PermaLink,guid,c68da307-e290-4732-9f76-2daf7c597e6c.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <wfw:comment>http://umniedziala.pl/CommentView,guid,c68da307-e290-4732-9f76-2daf7c597e6c.aspx</wfw:comment>
      <wfw:commentRss>http://umniedziala.pl/SyndicationService.asmx/GetEntryCommentsRss?guid=c68da307-e290-4732-9f76-2daf7c597e6c</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Po walcę z grupami w linuxie, pora przyszła aby przejrzeć AD.
</p>
        <p>
Jak się okazało, nie wszystkie grupy windowsowe miały odpowiednie parametry więc pora
była na dopisanie tych paramtrów.
</p>
        <p>
Z tego powodu narodził sie ponizszy skrypt:
</p>
        <p>
          <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">$strRoot
= "LDAP://dc=pjwstk,dc=edu,dc=pl"<br />
$Root <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">New</span>-<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">Object</span> DirectoryServices.DirectoryEntry
$strROOT<br />
$Searcher <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">New</span>-<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">Object</span> DirectoryServices.DirectorySearcher<br />
$Searcher.SearchRoot <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span> $root<br />
$searcher.<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"><font color="#000000">Filter</font></span><span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span><span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"(&amp;(objectClass=Group))"</span><br />
$groups <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span> $searcher.findAll();<br /><br />
#<font color="#000000"><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"><font color="#000000">get</font></span> groups </font><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"><font color="#000000">with</font></span> no
mssfu30name<br /><font color="#0000ff">foreach</font> ($group <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">in</span> $groups)
{ <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">if</span> (!$group.Properties.mssfu30name)
{<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">write</span><font color="#0000ff">-host</font> $group.Properties.name
}}<br />
#<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"><font color="#000000">print</font></span> maxgid<br /><font color="#0000ff">foreach</font> ($group <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">in</span> $groups)
{ <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">if</span> ($group.Properties.mssfu30name)
{<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">write</span><font color="#0000ff">-</font>host
$group.Properties.mssfu30gidnumber }}<br />
#setMaxgid<br /><br />
$maxgid=0<br /><font color="#0000ff">foreach</font> ($group <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">in</span> $groups) 
<br />
{ 
<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">if</span> ($group.Properties.mssfu30gidnumber) 
<br />
{<br />
$tmp <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span> [<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">int</span>]
$group.Properties.mssfu30gidnumber[0]<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">if</span> ($tmp <font color="#0000ff">-gt</font> $maxgid
) 
<br />
{<br />
$maxgid=$tmp;<br />
}<br />
} 
<br />
};<br /><br />
#<font color="#000000"><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">set</span></font>params<br /><font color="#0000ff">foreach</font> ($group <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">in</span> $groups) 
<br />
{ 
<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">if</span> (!$group.Properties.mssfu30gidnumber) 
<br />
{<br />
$maxgid= $maxgid+1<br />
$de <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">new</span>-<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">object</span> DirectoryServices.DirectoryEntry($group.Path)<br />
$deName=$de.InvokeGet(<span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"cn"</span>);<br />
$de.InvokeSet(<span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"mssfu30name"</span>,[<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">string</span>]$deName)<br />
$de.InvokeSet(<span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"mssfu30gidnumber"</span>,[<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">int</span>]$maxgid)<br />
$de.InvokeSet(<span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"mssfu30nisdomain"</span>,[<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">string</span>]<span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"pjwstk"</span>)<br />
$de.CommitChanges()<br />
$de.close()<br />
} 
<br />
};<br /><br /><br /><br /></span>
        </p>
        <img width="0" height="0" src="http://umniedziala.pl/aggbug.ashx?id=c68da307-e290-4732-9f76-2daf7c597e6c" />
      </body>
      <title>POwershell i paramtry SFU</title>
      <guid isPermaLink="false">http://umniedziala.pl/PermaLink,guid,c68da307-e290-4732-9f76-2daf7c597e6c.aspx</guid>
      <link>http://UMnieDziala.pl/POwershellIParamtrySFU.aspx</link>
      <pubDate>Tue, 16 May 2006 17:56:21 GMT</pubDate>
      <description>&lt;p&gt;
Po walcę z grupami w linuxie, pora przyszła aby przejrzeć AD.
&lt;/p&gt;
&lt;p&gt;
Jak się okazało, nie wszystkie grupy windowsowe miały odpowiednie parametry więc pora
była na dopisanie tych paramtrów.
&lt;/p&gt;
&lt;p&gt;
Z tego powodu narodził sie ponizszy skrypt:
&lt;/p&gt;
&lt;p&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;$strRoot
= "LDAP://dc=pjwstk,dc=edu,dc=pl"&lt;br&gt;
$Root &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;New&lt;/span&gt;-&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;Object&lt;/span&gt; DirectoryServices.DirectoryEntry
$strROOT&lt;br&gt;
$Searcher &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;New&lt;/span&gt;-&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;Object&lt;/span&gt; DirectoryServices.DirectorySearcher&lt;br&gt;
$Searcher.SearchRoot &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; $root&lt;br&gt;
$searcher.&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;font color=#000000&gt;Filter&lt;/font&gt;&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"(&amp;amp;(objectClass=Group))"&lt;/span&gt;
&lt;br&gt;
$groups &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; $searcher.findAll();&lt;br&gt;
&lt;br&gt;
#&lt;font color=#000000&gt;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;font color=#000000&gt;get&lt;/font&gt;&lt;/span&gt; groups &lt;/font&gt;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;font color=#000000&gt;with&lt;/font&gt;&lt;/span&gt; no
mssfu30name&lt;br&gt;
&lt;font color=#0000ff&gt;foreach&lt;/font&gt; ($group &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;in&lt;/span&gt; $groups)
{ &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;if&lt;/span&gt; (!$group.Properties.mssfu30name)
{&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;write&lt;/span&gt;&lt;font color=#0000ff&gt;-host&lt;/font&gt; $group.Properties.name
}}&lt;br&gt;
#&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;font color=#000000&gt;print&lt;/font&gt;&lt;/span&gt; maxgid&lt;br&gt;
&lt;font color=#0000ff&gt;foreach&lt;/font&gt; ($group &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;in&lt;/span&gt; $groups)
{ &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;if&lt;/span&gt; ($group.Properties.mssfu30name)
{&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;write&lt;/span&gt;&lt;font color=#0000ff&gt;-&lt;/font&gt;host
$group.Properties.mssfu30gidnumber }}&lt;br&gt;
#setMaxgid&lt;br&gt;
&lt;br&gt;
$maxgid=0&lt;br&gt;
&lt;font color=#0000ff&gt;foreach&lt;/font&gt; ($group &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;in&lt;/span&gt; $groups) 
&lt;br&gt;
{ 
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;if&lt;/span&gt; ($group.Properties.mssfu30gidnumber) 
&lt;br&gt;
{&lt;br&gt;
$tmp &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; [&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;int&lt;/span&gt;]
$group.Properties.mssfu30gidnumber[0]&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;if&lt;/span&gt; ($tmp &lt;font color=#0000ff&gt;-gt&lt;/font&gt; $maxgid
) 
&lt;br&gt;
{&lt;br&gt;
$maxgid=$tmp;&lt;br&gt;
}&lt;br&gt;
} 
&lt;br&gt;
};&lt;br&gt;
&lt;br&gt;
#&lt;font color=#000000&gt;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;set&lt;/span&gt; &lt;/font&gt;params&lt;br&gt;
&lt;font color=#0000ff&gt;foreach&lt;/font&gt; ($group &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;in&lt;/span&gt; $groups) 
&lt;br&gt;
{ 
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;if&lt;/span&gt; (!$group.Properties.mssfu30gidnumber) 
&lt;br&gt;
{&lt;br&gt;
$maxgid= $maxgid+1&lt;br&gt;
$de &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;new&lt;/span&gt;-&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;object&lt;/span&gt; DirectoryServices.DirectoryEntry($group.Path)&lt;br&gt;
$deName=$de.InvokeGet(&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"cn"&lt;/span&gt;);&lt;br&gt;
$de.InvokeSet(&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"mssfu30name"&lt;/span&gt;,[&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;string&lt;/span&gt;]$deName)&lt;br&gt;
$de.InvokeSet(&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"mssfu30gidnumber"&lt;/span&gt;,[&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;int&lt;/span&gt;]$maxgid)&lt;br&gt;
$de.InvokeSet(&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"mssfu30nisdomain"&lt;/span&gt;,[&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;string&lt;/span&gt;]&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"pjwstk"&lt;/span&gt;)&lt;br&gt;
$de.CommitChanges()&lt;br&gt;
$de.close()&lt;br&gt;
} 
&lt;br&gt;
};&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;/p&gt;
&gt;&lt;img width="0" height="0" src="http://umniedziala.pl/aggbug.ashx?id=c68da307-e290-4732-9f76-2daf7c597e6c" /&gt;</description>
      <comments>http://umniedziala.pl/CommentView,guid,c68da307-e290-4732-9f76-2daf7c597e6c.aspx</comments>
      <category>PowerShell</category>
    </item>
    <item>
      <trackback:ping>http://umniedziala.pl/Trackback.aspx?guid=bc19e0ed-3f43-4d47-b456-cd5583729e60</trackback:ping>
      <pingback:server>http://umniedziala.pl/pingback.aspx</pingback:server>
      <pingback:target>http://umniedziala.pl/PermaLink,guid,bc19e0ed-3f43-4d47-b456-cd5583729e60.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <wfw:comment>http://umniedziala.pl/CommentView,guid,bc19e0ed-3f43-4d47-b456-cd5583729e60.aspx</wfw:comment>
      <wfw:commentRss>http://umniedziala.pl/SyndicationService.asmx/GetEntryCommentsRss?guid=bc19e0ed-3f43-4d47-b456-cd5583729e60</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Czas się w koncu zabrac za Powershella. Po cięzkiej nauce VBS i batchy CMD raczej
podchodzę do tej nowinki niechętnie, ale jak wskazują najnowsze trendy MSH będzie
obowiązkowym językiem skryptowym.
</p>
        <p>
Task 1: Mamy schemat katalogów
</p>
        <p>
/-|<br />
   -s3452<br />
   -s3453<br />
   -s4532<br />
   ...
</p>
        <p>
I nazwy uzytkownków takie jak nazwy katalogów. Musimy ustawić prawa Full Control na
katalog dla uzytkownika.
</p>
        <p>
Podejście 1 (command line): 
</p>
        <p>
for /D %d in (*) do cacls %d /T /E /G %d@pjwstk.edu.pl:F
</p>
        <p>
Podejście 2 (Powershell):
</p>
        <p>
          <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">
            <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">foreach</span> ($i <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">in</span> dir) 
<br />
{<br />
$acl <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span> get-acl
$i;<br />
$ar <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">new</span>-<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">object</span> System.Security.AccessControl.FileSystemAccessRule
($i, <span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"FullControl"</span>, <span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"Allow"</span>);<br />
$acl.SetAccessRule($ar) ;<br />
set-acl $i $acl 
<br />
}</span>
        </p>
        <img width="0" height="0" src="http://umniedziala.pl/aggbug.ashx?id=bc19e0ed-3f43-4d47-b456-cd5583729e60" />
      </body>
      <title>PowerShell</title>
      <guid isPermaLink="false">http://umniedziala.pl/PermaLink,guid,bc19e0ed-3f43-4d47-b456-cd5583729e60.aspx</guid>
      <link>http://UMnieDziala.pl/PowerShell.aspx</link>
      <pubDate>Mon, 15 May 2006 17:24:38 GMT</pubDate>
      <description>&lt;p&gt;
Czas się w koncu zabrac za Powershella. Po cięzkiej nauce VBS i batchy CMD raczej
podchodzę do tej nowinki niechętnie, ale jak wskazują najnowsze trendy MSH będzie
obowiązkowym językiem skryptowym.
&lt;/p&gt;
&lt;p&gt;
Task 1: Mamy schemat katalogów
&lt;/p&gt;
&lt;p&gt;
/-|&lt;br&gt;
&amp;nbsp;&amp;nbsp; -s3452&lt;br&gt;
&amp;nbsp;&amp;nbsp; -s3453&lt;br&gt;
&amp;nbsp;&amp;nbsp; -s4532&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;...
&lt;/p&gt;
&lt;p&gt;
I nazwy uzytkownków takie jak nazwy katalogów. Musimy ustawić prawa Full Control na
katalog dla uzytkownika.
&lt;/p&gt;
&lt;p&gt;
Podejście 1 (command line): 
&lt;/p&gt;
&lt;p&gt;
for /D %d in (*) do cacls %d /T /E /G %d@pjwstk.edu.pl:F
&lt;/p&gt;
&lt;p&gt;
Podejście 2 (Powershell):
&lt;/p&gt;
&lt;p&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;foreach&lt;/span&gt; ($i &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;in&lt;/span&gt; dir) 
&lt;br&gt;
{&lt;br&gt;
$acl &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; get-acl
$i;&lt;br&gt;
$ar &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;new&lt;/span&gt;-&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;object&lt;/span&gt; System.Security.AccessControl.FileSystemAccessRule
($i, &lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"FullControl"&lt;/span&gt;, &lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"Allow"&lt;/span&gt;);&lt;br&gt;
$acl.SetAccessRule($ar) ;&lt;br&gt;
set-acl $i $acl 
&lt;br&gt;
}&lt;/span&gt;
&lt;/p&gt;
&gt;&lt;img width="0" height="0" src="http://umniedziala.pl/aggbug.ashx?id=bc19e0ed-3f43-4d47-b456-cd5583729e60" /&gt;</description>
      <comments>http://umniedziala.pl/CommentView,guid,bc19e0ed-3f43-4d47-b456-cd5583729e60.aspx</comments>
      <category>PowerShell</category>
    </item>
  </channel>
</rss>