Archive for Oktober, 2013

SkyDrive aus PowerShell nutzen

Auf jedem Rechner auf den in Zugriff habe liegt der SkyDrive Ordner
in einem anderem Pfad.
Um z.B. Daten von SkyDrive lesen oder dort ablegen, muss das Script
jedes Mal angepasst werden. Natürlich kann man im Script über
Rechnername, IP Adresse oder ähnlich automatisch darauf reagieren,
aber das ist sehr aufwendig und muss in jedem Script wieder erfolgen.

Meine Lösung hierfür ist eine neue Environment Variable in der der
Wert des SkyDrive Pfads abgelegt ist. Danach kann dann über diese
Variable auf die SkyDrive Ordner mit einem einheitlichen Pfad
zugegriffen werden.

Zuerst eine Environment Variable anlegen.

$SkyDrivePath="D:\SkyDrive"
New-Itemproperty -path "hkcu:\Environment" -Name "SKYDRIVE"´
-value $SkyDrivePath -type ExpandString

Nach einem Neustart des Rechners steht die neue Environment Variable
%SKYDRIVE%  dann zur Verfügung.

Bei Windows 8.1 liegt der SkyDrive Ordner übrigens im %USERPROFILE%

Fehler in “GetSyncedObjectCount”

Beim Anwenden des Scripts „GetSyncedObjectCount“ aus den Office 365 Helper Scripts ist mir aufgefallen, dass das Ergebnis nicht so ok ist. In der Umgebung mit der ich getestet habe, gibt es Gruppen die mit dem AD synchronisiert und welche die Lokal im Office 365 erstellt wurden. Das Script hat aber immer die gesamte Anzahl der Gruppen als Synchronisiert zurückgegeben.

Der Fehler steckt in den Zeilen 56-58, dort wird die Variable „LastDirSyncTime“ nur auf einen leeren String abgeprüft und nicht auf $NULL.

Hier die korrekten Zeilen:

$users|%{if(($_.LastDirSyncTime -ne $Null) -or ´
        ($_.LastDirSyncTime-ne"")) {$ucount=$ucount+1}}
$groups|%{if(($_.LastDirSyncTime -ne $Null) -or ´
       ($_.LastDirSyncTime-ne"")){$gcount=$gcount+1}}
$contacts|%{if(($_.LastDirSyncTime -ne $Null) -or ´
       ($_.LastDirSyncTime-ne"")){$ccount=$ccount+1}}