SharePoint 2010/2013 Liste mit AD-Usern füllen

Das könnte so gehen….

————————————————————————————

Import-Module ActiveDirectory

$AllUsers=Get-ADUser -Filter * -SearchBase „DC=CONTOSO,DC=COM“ -Properties *

Add-PSSnapin Microsoft.SharePoint.PowerShell -EA SilentlyContinue

#Variablen zum adressieren der Liste
$webURL = „http://intranet.contoso.com
$listName = „ADUsers“ 
#Webseite adressieren
$web = Get-SPWeb $webURL 
#Liste adressieren
$list = $web.Lists[$listName]

foreach ($User in $AllUsers) {
    foreach ($item in $list.items) {
        if ($item[„Title“] -eq $User.SID) {
            $item[„Name“] = $User.DisplayName
            $item[„EMail“] = $User.EmailAddress
            $item[„OfficePhone“] = $User.OfficePhone
            $item.update()
            $Flag =“gefunden“
        }
    }
    if ($Flag -ne „gefunden“) {  
            #Neuen Eintrag erstellen
            $newItem = $list.Items.Add()  
            #Eigenschaften ins ListItem füllen
            $newItem[„Title“] = $User.SID
            $newItem[„Name“] = $User.DisplayName
            $newItem[„EMail“] = $User.EmailAddress
            $newItem[„OfficePhone“] = $User.OfficePhone
            #Listenelement schreiben
            $newItem.Update()
    }
    $Flag=““
}

—————————————————–

Es wird über die SID geprüft, ob bereits ein Eintrag vorhanden ist. Falls ja, wird der Eintrag aktualisiert, falls nein, wird ein neuer erstellt.

Die Liste muss vorhanden sein und die entsprechenden Spalten enthalten. Vor dem ersten Durchlauf muss mindestens EIN Eintrag in der Liste vorhanden sein. Dieser muss einmal von Hand eingetragen werden und kann nach dem ersten Durchlauf gelöscht werden.

 

Powershell 3.0 New integrated features

Im Microsoft TechNet-Newsletter habe ich eine ganz interessante Demo zu Powershell 3.0 gefunden.

Ist ein Video, Ihr könnt Euch also einfach ein bisschen berieseln lassen. 🙂

http://blogs.technet.com/b/blainbar/archive/2012/11/29/technet-radio-it-time-powershell-3-0-integrated-scripting-environment-overview.aspx?loc=zbtfz_zYFCz&prod=zWSz&tech=zScrCz&prog=zRadz&type=zOTtypez&media=zVidz

CAML query nested too deep

Working on a customer project I came across the requirement to query lists for selectable filter criteria. The query result had to be taken to query a central list. The central list and the other lists had a one to many relation and shared a primary key in the central list.
So lets say there is a customer list with columns „Customer Key“, „Customer Name“, „Customer Adress“ and different other lists wich hold relational data, like a list Contacts with „Customer Key“, „Contact Name“, „Contact Role“, „Contact Department“.

Now the requirement is to first select all contacts with role „Manager“ and department „Marketing“ and then switch to the central list and get all the cutomers that match the query „Has a contact with role -Manager- in department -Marketing-„.

CAML query nested too deep weiterlesen

Integrate Google to your MOSS Search Center / Google Suche in MOSS integrieren

There are a lot of webparts and tools around to add google search to your SharePoint. But most commonly these features do not integrate seamlessly with the search concept. They add another webpart to a site. But the user wants to use just one search input to search all given content, including google. And it should look like this:

google drop down search Pick Google as search scope

how it should be 
type your search term and click „Go“

Result in MOSS search Get the results displayed in a MOSS results page!

You could add Google to your crawl, but that would blow your database up. Here is a little trick that makes it appear to your users as if Google is integrated into your MOSS search without multiplying the size of your database.

Integrate Google to your MOSS Search Center / Google Suche in MOSS integrieren weiterlesen

Wirklich cooles Tool Ironspeed Designer

Ein wirklich cooles Tool für ASPX-Entwickler mit dem ich mich mal etwas näher beschäftigt habe ist der Iron Speed Designer (http://www.ironspeed.com).
Es handelt sich um ein Entwicklungswerkzeug mit dem die Entwicklung von Datenbank gestützten Web-Applikationen wirklich kinderleicht wird.
Es gibt eine freie Version mit der man schon einiges anstellen kann und sich zumindest einen sehr guten Eindruck der Leistungsfähigkeit machen kann.

Das Tool unterstützt die Erzeugung von ASPX Seiten, multi language support der Applikationen, search, Export nach Excel, Word, PDF, E-Mail Workflows, Reports, Rollen basierte Rechtekonzepte, Stored Procedures und noch unglaublich viel mehr.

Ein Blick lohnt sich eigentlich für jeden Entwickler!

Programm nur ausführen, wenn es nicht schon ausgeführt wird

Insbesondere bei der entwicklungen von Windows-Programmen, die im Hintergrund laufen sollen und eventuell keinerlei Benutzerdialog erfodern, ist es oft notwendig zu prüfen, ob ein bestimmter Prozess bereits läuft und in Abhängigkeit davon das Programm auszuführen, oder abzubrechen.

Anbei ein kleiner Code-Schnipsel mit dem geprüft werden kann, ob bereits eine Instanz des Programmes ausgeführt wird.

Programm nur ausführen, wenn es nicht schon ausgeführt wird weiterlesen

Implement Cross Application Navigation – Applikationübergreifende Navigation

Um eine SiteCollection übergreifenden, oder gar WebApplication übergreifende Navigation zu implementieren bedarf es einiger Kniffe. Hier ein paar Änsätze und ein erster Lösungsansatz.
————————————————–
To have a cross sitecollection or even cross web application navigation a few tricks are needed. Here is a first approach and small solution.

Implement Cross Application Navigation – Applikationübergreifende Navigation weiterlesen

Check internet connection programmatically – Internet Verbindung programmatisch prüfen

I ran into a project where I was asked to create an application that would switch the proxy settings depending on wether an nternet connection exists or not. The problem was that this should also work if the user is working from a hotel room where he is logging into a pay account on a mobile lan spot. Therefore I had to check if the connection was open (payed) or closed (not yet payed but nontheless connected to the internet).

———————————————————–

In einem mener Projekte war gefordert eine Applikation zu liefern, welche die Proxy Einstellungen des Browsers verändert in Abhängigkeit davon ob der Computer mit dem Internet verbunden ist, oder nicht. Dies sollte auch dann funktionieren, wenn sich der Benutzer in einem Hotel an einem mobilen LAN Spot anmeldet (kostenpflichtig). Also musste ich prüfen, ob eine freie Verbindung besteht (bezahlt) oder sich der Benutzer gerade an dem LAN Spot anmeldet (noch nicht bezahlt, aber trotzdem eine bestehende Internet-Verbindung).
Check internet connection programmatically – Internet Verbindung programmatisch prüfen weiterlesen