Quantcast
Channel: TechNet Blogs
Viewing all 17778 articles
Browse latest View live

Query Azure Storage with PowerShell but without the SDK or Cmdlets

$
0
0

I had a need to query Azure Storage via PowerShell, but I was not guaranteed that the machines I'd be running from would have either the Azure SDK or the Azure PowerShell Cmdlets installed.

The script below (and in the attached .ZIP file) does not require the Azure SDK or the Azure PowerShell Cmdlets

The script below is a compilation of bits of information I found in many different sources.  I'll share links to many of the relevant places I gleaned information from.

What the script does

  1. Authenticates to the Azure management service using a certificate in a .PFX file
  2. It uses that to get the storage keys, then constructs the Authentication headers
    1. Please note that SharedKey Authentication header for Table Storage is different from the SharedKey header used by Queue and Blob Storage
  3. Loops through Blob, Queue, and Table storage to check if Metrics are enabled

Helpful Links

How to construct and hash a SharedKey header

http://blogs.msdn.com/b/rxg/archive/2009/04/02/accessing-azure-tables-via-rest.aspx

http://blog.einbu.no/2009/08/authenticating-against-azure-table-storage/

Documentation on SharedKey headers

http://msdn.microsoft.com/en-us/library/azure/dd179428.aspx

How to get Storage Account Keys

http://msdn.microsoft.com/en-us/library/azure/ee460785.aspx

Blob Service Properties (Table and Queue are basically the same)

http://msdn.microsoft.com/en-us/library/azure/hh452239.aspx

Storage Analytics

http://msdn.microsoft.com/en-us/library/azure/hh343270.aspx


##########################################################################
# Hard-coded Parameters
# set $proxyAddr = '' if you don't need a proxy server
##########################################################################

$mgmtUri = 'https://management.core.windows.net'
$msApiVer = '2012-08-01'
$ssApiVer = '2009-09-19'
$subId = '12345678-1234-1234-1234-123456789ABC'
$servName = 'qwerty'
$blobEP = 'http://qwerty.blob.core.windows.net/'
$queueEP = 'http://qwerty.queue.core.windows.net/'
$tableEP = 'http://qwerty.table.core.windows.net/'
$certPW = '< PFX File Password>'
$certPath = 'C:\mycert.pfx'
$proxyAddr = 'http://proxy:80'


##########################################################################
# Create a X509 Certificate from the byte array
##########################################################################
$flags = [System.Security.Cryptography.X509Certificates.X509KeyStorageFlags]"MachineKeySet"
$clientCert = New-Object -TypeName System.Security.Cryptography.X509Certificates.X509Certificate2 -ArgumentList $certPath, $certPW, $flags

##########################################################################
# Call the management service to get the storage keys
##########################################################################
$keysUri = $mgmtUri + '/' + $subId + '/services/storageservices/' + $servName + '/keys'
$mgmtWebRequest = [System.Net.HttpWebRequest]::Create($keysUri)
$mgmtWebRequest.Timeout = 15000
$mgmtWebRequest.ClientCertificates.Add($clientCert)
$mgmtWebRequest.Method = "GET"
$mgmtWebRequest.Headers.Add("x-ms-version", $msApiVer)
If ($proxyAddr -eq '')
{
  $mgmtWebRequest.Proxy = $null
}
Else
{
  $myWebProxy = New-Object System.Net.WebProxy($proxyAddr)
  $mgmtWebRequest.Proxy = $myWebProxy
}

##########################################################################
# Get the storage service keys from the response
##########################################################################
$response = $mgmtWebRequest.GetResponse()
$responseReader = New-Object System.IO.StreamReader($response.GetResponseStream())
[xml]$xmlResponseBody = $responseReader.ReadToEnd()
$responseReader.Close()
$primaryKey = $xmlResponseBody.StorageService.StorageServiceKeys.Primary

##########################################################################
# Create a hasher and seed it with the storage key
##########################################################################
$sharedKey = [System.Convert]::FromBase64String($primaryKey)
$myHasher = New-Object System.Security.Cryptography.HMACSHA256
$myHasher.Key = $sharedKey

##########################################################################
# Loop through the tables we want to query
##########################################################################
$myInvariantCulture = New-Object System.Globalization.CultureInfo("")
$storageEndpoints = $blobEP, $queueEP, $tableEP
$requestTail = '?restype=service&comp=properties'
ForEach ($endpoint in $storageEndpoints)
{
  $storageUri = $endpoint + $requestTail

##########################################################################
# Get the current date/time and format it properly
# The culture "" is the invariant culture
##########################################################################
$myDateObj = Get-Date
$strDate = $myDateObj.ToUniversalTime().ToString("R", $myInvariantCulture)

##########################################################################
# Preare the table HttpWebRequest
##########################################################################
$tableWebRequest = [System.Net.HttpWebRequest]::Create($storageUri)
$tableWebRequest.Timeout = 15000
$tableWebRequest.ContentType = "application/xml"
$tableWebRequest.Method = "GET"
$tableWebRequest.Headers.Add("x-ms-date", $strDate)
$tableWebRequest.Headers.Add("x-ms-version", $ssApiVer)
If ($proxyAddr -eq '')
{
  $tableWebRequest.Proxy = $null
}
Else
{
  $tableWebProxy = New-Object System.Net.WebProxy($proxyAddr)
  $tableWebRequest.Proxy = $tableWebProxy
}

##########################################################################
# Create the Authorization header
# Note that Table storage needs a different Authorization header
# than Blob and Queue need.
##########################################################################
If ($endpoint.Contains('.table.'))
{
  $strToSign = $tableWebRequest.Method + "`n" `
             + $tableWebRequest.Headers.Get("Content-MD5") + "`n" `
             + $tableWebRequest.Headers.Get("Content-Type") + "`n" `
             + $tableWebRequest.Headers.Get("x-ms-date") + "`n" `
             + '/' + $servName + '/' + '?comp=properties'
  $bytesToSign = [System.Text.Encoding]::UTF8.GetBytes($strToSign)
  $strSignedStr = [System.Convert]::ToBase64String($myHasher.ComputeHash($bytesToSign))
  $strAuthHeader = "SharedKey " + $servName + ":" + $strSignedStr
}
Else
{
  $canonicalizedHeader = 'x-ms-date:' + $tableWebRequest.Headers.Get("x-ms-date") + "`n" `
                       + 'x-ms-version:' + $tableWebRequest.Headers.Get("x-ms-version") + "`n"
  $canonicalizedResource = '/' + $servName + '/'  + "`n" + 'comp:properties' + "`n" + 'restype:service'
  $strToSign = $tableWebRequest.Method + "`n" `
             + $tableWebRequest.Headers.Get("Content-Encoding") + "`n" `
             + $tableWebRequest.Headers.Get("Content-Language") + "`n" `
             + $tableWebRequest.Headers.Get("Content-Length") + "`n" `
             + $tableWebRequest.Headers.Get("Content-MD5") + "`n" `
             + $tableWebRequest.Headers.Get("Content-Type") + "`n" `
             + $tableWebRequest.Headers.Get("Date") + "`n" `
             + $tableWebRequest.Headers.Get("If-Modified-Since") + "`n" `
             + $tableWebRequest.Headers.Get("If-Match") + "`n" `
             + $tableWebRequest.Headers.Get("If-None-Match") + "`n" `
             + $tableWebRequest.Headers.Get("If-Unmodified-Since") + "`n" `
             + $tableWebRequest.Headers.Get("Range") + "`n" `
             + $canonicalizedHeader + $canonicalizedResource
  $bytesToSign = [System.Text.Encoding]::UTF8.GetBytes($strToSign)
  $strSignedStr = [System.Convert]::ToBase64String($myHasher.ComputeHash($bytesToSign))
  $strAuthHeader = "SharedKey " + $servName + ":" + $strSignedStr
}
$tableWebRequest.Headers.Add("Authorization", $strAuthHeader)

##########################################################################
# Read the results
# The response body changed between version 2012-02-12 and 2013-08-15
# which is why we check for Metrics and HourMetrics
# http://msdn.microsoft.com/en-us/library/azure/hh343258.aspx
##########################################################################
$tableResponse = $tableWebRequest.GetResponse()
$tableResponseReader = New-Object System.IO.StreamReader($tableResponse.GetResponseStream())
[xml]$tableResponseBody = $tableResponseReader.ReadToEnd()
$tableResponseReader.Close()
$metricsEnabled = $tableResponseBody.StorageServiceProperties.Metrics.Enabled
$hourMetricsEnabled = $tableResponseBody.StorageServiceProperties.HourMetrics.Enabled

If ($endpoint.Contains('.blob.'))
{
  If ($metricsEnabled -ne $null)
  {
    $blobEnabled = $metricsEnabled
  }
  If ($hourMetricsEnabled -ne $null)
  {
    $blobEnabled = $hourMetricsEnabled
  }
}

If ($endpoint.Contains('.queue.'))
{
  If ($metricsEnabled -ne $null)
  {
    $queueEnabled = $metricsEnabled
  }
  If ($hourMetricsEnabled -ne $null)
  {
    $queueEnabled = $hourMetricsEnabled
  }
}

If ($endpoint.Contains('.table.'))
{
  If ($metricsEnabled -ne $null)
  {
    $tableEnabled = $metricsEnabled
  }
  If ($hourMetricsEnabled -ne $null)
  {
    $tableEnabled = $hourMetricsEnabled
  }
}

##########################################################################
# Close the ForEach loop
##########################################################################
}

##########################################################################
# Write the results
##########################################################################
Write-Host 'Blob Metrics Enabled:' $blobEnabled
Write-Host 'Queue Metrics Enabled:' $queueEnabled
Write-Host 'Table Metrics Enabled: '$tableEnabled


Read the Azure Storage Analytics Metrics Table with PowerShell

$
0
0

Another script I recently needed to read Azure Storage Analytics Metrics.

Here is the table schema if you need additional or different information.

http://msdn.microsoft.com/en-us/library/azure/hh343264.aspx

Please note that metrics are calculated when an aggregation period ends and are not available immediately.  If you run my script as-is, it will attempt to get blob metrics from the previous hour.  If you run it "early" in the hour, the data from the previous hour may not yet be ready.  You can comment out my filter line to get all data.

Please note that you are on your own to turn storage metrics on.  My script will not enable storage metrics for you.

##########################################################################
# Hard-coded Parameters
# Set $proxyAddr = '' if you don't need a proxy server
# Change $BlobOrQueueOrTable to 'Queue' or 'Table' if you like.
##########################################################################
$mgmtUri = 'https://management.core.windows.net'
$subId = '12345678-1234-1234-1234-123456789ABC'
$msApiVer = '2012-08-01'
$servName = 'asdfgh'
$tableEP = 'http://asdfgh.table.core.windows.net/'
$certPW = '<PFX Password>'
$certPath = 'C:\myCert.pfx'
$proxyAddr = 'http://proxy:80'

$HourOrMinute = 'Hour'
$PrimaryOrSecondary = 'Primary'
$BlobOrQueueOrTable = 'Blob'

##########################################################################
# Create a X509 Certificate from the byte array
##########################################################################
$flags = [System.Security.Cryptography.X509Certificates.X509KeyStorageFlags]"MachineKeySet"
$clientCert = New-Object -TypeName System.Security.Cryptography.X509Certificates.X509Certificate2 -ArgumentList $certPath, $certPW, $flags

##########################################################################
# Call the management service to get the storage keys
##########################################################################
$keysUri = $mgmtUri + '/' + $subId + '/services/storageservices/' + $servName + '/keys'
$mgmtWebRequest = [System.Net.HttpWebRequest]::Create($keysUri)
$mgmtWebRequest.Timeout = 15000
$mgmtWebRequest.ClientCertificates.Add($clientCert)
$mgmtWebRequest.Method = "GET"
$mgmtWebRequest.Headers.Add("x-ms-version", $msApiVer)
If ($proxyAddr -eq '')
{
  $mgmtWebRequest.Proxy = $null
}
Else
{
  $myWebProxy = New-Object System.Net.WebProxy($proxyAddr)
  $mgmtWebRequest.Proxy = $myWebProxy
}

##########################################################################
# Get the storage service keys from the response
##########################################################################
$response = $mgmtWebRequest.GetResponse()
$responseReader = New-Object System.IO.StreamReader($response.GetResponseStream())
[xml]$xmlResponseBody = $responseReader.ReadToEnd()
$responseReader.Close()
$primaryKey = $xmlResponseBody.StorageService.StorageServiceKeys.Primary

##########################################################################
# Create a hasher and seed it with the storage key
##########################################################################
$sharedKey = [System.Convert]::FromBase64String($primaryKey)
$myHasher = New-Object System.Security.Cryptography.HMACSHA256
$myHasher.Key = $sharedKey

##########################################################################
# Construct the Storage Analytics Metrics Table and URI
##########################################################################
$myInvariantCulture = New-Object System.Globalization.CultureInfo("")
$strTable = '$Metrics' + $HourOrMinute + $PrimaryOrSecondary + 'Transactions' + $BlobOrQueueOrTable
$strTableUri = $tableEP + $strTable

     
     
##########################################################################
# Get the current date/time and format it properly
# The culture "" is the invariant culture
##########################################################################
$myDateObj = Get-Date
$strDate = $myDateObj.ToUniversalTime().ToString("R", $myInvariantCulture)

##########################################################################
# This will get only the metrics from the previous hour.  Metrics are not
# available immediately when an hour ends.  If you want to change this
# try either subtracting more than 1 hour from the current time or
# removing the filter from the URI.  You can comment out the next two
# lines if you like.
##########################################################################
$strPartition = $myDateObj.AddHours(-1).ToUniversalTime().ToString("yyyyMMddTHH00")
$strTableUri = $strTableUri + '?$filter=PartitionKey%20eq%20''' + $strPartition + ''''

##########################################################################
# Preare the HttpWebRequest
##########################################################################
$tableWebRequest = [System.Net.HttpWebRequest]::Create($strTableUri)
$tableWebRequest.Timeout = 15000
$tableWebRequest.ContentType = "application/xml"
$tableWebRequest.Method = "GET"
$tableWebRequest.Headers.Add("x-ms-date", $strDate)
If ($proxyAddr -eq '')
{
  $tableWebRequest.Proxy = $null
}
Else
{
  $tableWebProxy = New-Object System.Net.WebProxy($proxyAddr)
  $tableWebRequest.Proxy = $tableWebProxy
}

##########################################################################
# Create the Authorization header
##########################################################################
$strToSign = $tableWebRequest.Method + "`n" `
           + $tableWebRequest.Headers.Get("Content-MD5") + "`n" `
           + $tableWebRequest.Headers.Get("Content-Type") + "`n" `
           + $tableWebRequest.Headers.Get("x-ms-date") + "`n" `
           + '/' + $servName + '/' + $strTable
$bytesToSign = [System.Text.Encoding]::UTF8.GetBytes($strToSign)
$strSignedStr = [System.Convert]::ToBase64String($myHasher.ComputeHash($bytesToSign))
$strAuthHeader = "SharedKey " + $servName + ":" + $strSignedStr
$tableWebRequest.Headers.Add("Authorization", $strAuthHeader)

##########################################################################
# Read the results
##########################################################################
$tableResponse = $tableWebRequest.GetResponse()
$tableResponseReader = New-Object System.IO.StreamReader($tableResponse.GetResponseStream())
[xml]$xmlMetricsData = $tableResponseReader.ReadToEnd()
$entries = $xmlMetricsData.feed.entry

Foreach ($entry in $entries)
{
  Write-Host 'Row Key:' $entry.content.properties.RowKey
  Write-Host 'Partition Key:' $entry.content.properties.PartitionKey
  Write-Host 'Total Requests:' $entry.content.properties.TotalRequests.innertext
  Write-Host 'Total Ingress:' $entry.content.properties.TotalIngress.innertext
  Write-Host 'Total Egress:' $entry.content.properties.TotalEgress.innertext
  Write-Host '---------------------'
}

$tableResponseReader.Close()

Weekend Scripter: Exporting and Importing Photos in Active Directory

$
0
0

Summary: Use Windows PowerShell to import and export photos in Active Directory.

Honorary Scripting Guy, Sean Kearney, is here. I was playing about with Active Directory this week. I wanted to be able to get photos to automatically populate on my workstations running Windows 7.

By doing some online reading, I found that you can store this in the ThumbnailPhoto attribute within Active Directory.

In truth this that is not a hidden feature. If you're running Exchange Server 2013, Exchange Server 2010, or Lync, there are already cmdlets to do this.

But I wanted to play. I actually wanted two options on my plate. (What can I say...I'm greedy!)

I wanted the ability to import and export the pictures to and from Active Directory. Yes, I know. I'm just mad about the power from Windows PowerShell!

So what do I need?

  • A picture in .jpg format and no larger than 100 KB in size.
  • Microsoft Active Directory
  • Windows PowerShell
  • 100 pounds of baked beans and a panda

OK, fine. I was completely lying about the last bullet. I wanted to see if you were reading.

So we're going to work with the Microsoft Active Directory cmdlets, although the process for the Quest cmdlets is very similar.

First off, I'm going to start with a simple .jpg file. I swiped one from my Twitter account:

Photo of Sean Kearney

I used Microsoft Paint to drop the resolution to 52 x 52 pixels while I was playing. So it's really small, but you're supposed to be able to upload a photo of 100 KB in size.

So the file is sitting on my hard drive in a little folder called C:\Photos, and the file is named Sean.jpg.

To bring in the file, I have to use a little .NET to read the file:

[SYSTEM.IO.FILE]::ReadAllBytes()

We're going to read the JPG file as a binary stream because that's what the Active Directory ThumbnailPhoto attribute needs. So let's add the attribute to this "Sean guy:"

$Picture=[System.IO.File]::ReadAllBytes('C:\Photos\sean.jpg')

SET-ADUser SeanK –add @{thumbnailphoto=$Picture}

If you had this information in Active Directory and you need to export it (for any reason at all), we can do that too.

First we grab the User object from Active Directory:

$User=GET-ADUser SeanK –properties thumbnailphoto

Then we export the information with a little more .NET magic:

$Filename='C:\Photos\Export.jpg'

[System.Io.File]::WriteAllBytes($Filename, $User.Thumbnailphoto)

Pretty cool, eh?

We could even go so far as to export all the photos in Active Directory to the file system:

$list=GET-ADuser –filter * -properties thumbnailphoto

Foreach ($User in $list)

{

$Directory='C:\Photos\'

If ($User.thumbnailphoto)

  {

  $Filename=$Directory+$User.samaccountname+'.jpg'

  [System.Io.File]::WriteAllBytes($Filename, $User.Thumbnailphoto)

  }

}

If you aren't running Exchange Server 2013, Exchange Server 2010, or Lync, and you would like to play with this idea further, there's an excellent article and solution written by a fellow in the community named Jimmy Mathew. He created a really cool solution to allow you to set the photo by using the stored picture in Active Directory: Windows 8/Windows 8.1: Set Account Picture from Active Directory.

Now let's get going! Start populating and truly personalizing your Active Directory environment!

I invite you to follow the Scripting Guys on Twitter and Facebook. If you have any questions, send an email to the Scripting Guys at scripter@microsoft.com, or post your questions on the Official Scripting Guys Forum. See you tomorrow. Until then, remember, the Power of Shell is in You.

Sean Kearney, Windows PowerShell MVP, Honorary Scripting Guy

TechNet Wiki - All TAT Team Contributors Statistics

$
0
0

Merhaba Arkadaşlar ;


Cumartesi bloğunda tekrar beraberiz.Geçen hafta hatırlayacağınız üzere aramıza yeni katılan arkadaşların istatistiklerine yer vermiştik.Bu hafta tüm takım arkadaşlarımızın istatistiklerini yayınlayacağım. Yaz kış demeden bilgi ve becerilerini herkesle paylaşan ,dur durak bilmeden yeni teknolojiler öğrenerek bunların üzerine dökümanlar yazan,seminerler veren hatta yeri geldiğinde bizzat destek olan  büyük bir aileyiz  ve zaten aşağıdaki istatistiklere de bakacak olursanız hakkımızda daha detaylı bilgiye sahip olabilirsiniz.Sizlerde yorumlarınızla bizlere destek olabilirsiniz.  Hadi artık neler yapmışız bir gözatalım ;

not: İstatistiklerde makale yazmayan,editlemeyen veya yorumlamayan arkadaşlara yer verilmemiştir. (İlerleyen haftalarda arkadaşlarımızın katkılarını bekliyoruz )

1 ) Gökan ÖZCİFCİ

 

Blog :  http://gokanx.wordpress.com/

Profil Sayfası : http://social.technet.microsoft.com/profile/gokan%20ozcifci/

TechNet Wiki

New Articles384
Article Edits4,735
Comments2,462

2) Mehmet PARLAKYİĞİT

Blog :  http://www.parlakyigit.net/

Profil Sayfası : http://social.technet.microsoft.com/profile/mehmet%20parlaky%C4%B0%C4%9F%C4%B0t-tat

TechNet Wiki

New Articles200
Article Edits1,314
Comments223

3)  Asil MUTLU

Blog : http://www.asilmutlu.com/


Profil Sayfası :http://social.technet.microsoft.com/profile/asil%20mutlu%20-%20TAT

TechNet Wiki

New Articles102
Article Edits337
Comments170

4) Yavuz TAŞÇI

Blog : http://www.yavuztasci.com/


Profil Sayfası :http://social.technet.microsoft.com/profile/yavuz%20ta%C5%9Fc%C4%B1%20-tat/

TechNet Wiki

New Articles67
Article Edits270
Comments111

5) Davut EREN

Blog : http://www.davudows.com/


Profil Sayfası : http://social.technet.microsoft.com/profile/davut%20eren%20-%20tat/

TechNet Wiki

New Articles80
Article Edits552
Comments367

6) Uğur DEMİR

Blog : http://www.ugurdemir.net/


Profil Sayfası : http://social.technet.microsoft.com/profile/ugur%20demir%20-%20TAT

TechNet Wiki

New Articles151
Article Edits419
Comments231

7)  Elguc YUSİFBEYLİ

Blog : http://yusifbeyli.com/


Profil Sayfası : http://social.technet.microsoft.com/Profile/Elguc%20Yusifbeyli-TAT

TechNet Wiki

New Articles56
Article Edits432
Comments107

8)  Hasan DİMDİK

Blog : http://www.hasandimdik.com


Profil Sayfası : http://social.technet.microsoft.com/Profile/Hasan%20Dimdik%20-%20TAT

TechNet Wiki

New Articles53
Article Edits266
Comments142


9 ) Recep YÜKSEL

Blog : http://www.recepyuksel.net/


Profil Sayfası : http://social.technet.microsoft.com/profile/recep%20yuksel%20-%20tat/

TechNet Wiki

New Articles37
Article Edits337
Comments350

10) Nihat ALTINMAKAS

Blog : http://www.altinmakas.org/


Profil Sayfası : http://social.technet.microsoft.com/profile/nihat%20altinmakas/

TechNet Wiki

New Articles28
Article Edits87
Comments19

11)  Alican DÖKMEN

Blog : http://www.alicansite.net/


Profil Sayfası : http://social.technet.microsoft.com/profile/alican%20d%C3%B6kmen%20-%20tat/

TechNet Wiki

New Articles0
Article Edits21
Comments74

12) Ersin ÇAĞLAR


Blog :http://get-itlabs.com/


Profil Sayfası : http://social.technet.microsoft.com/profile/ersin%20can%20-%20tat/

TechNet Wiki

New Articles41
Article Edits163
Comments164

13 )  Mesut YILMAZ

Blog : http://www.yilmazmesut.com/


Profil Sayfası : http://social.technet.microsoft.com/profile/mesut%20yilmaz%20-%20tat/

TechNet Wiki

New Articles3
Article Edits34
Comments3

14) Okan EKE

Blog : http://www.okaneke.com/


Profil Sayfası : http://social.technet.microsoft.com/profile/Okan%20EKE/

TechNet Wiki

New Articles45
Article Edits52
Comments0

15 ) Ömer TAŞKIN


Profil Sayfası : http://social.technet.microsoft.com/profile/omertaskin

TechNet Wiki

New Articles2
Article Edits7
Comments1

16) Ufuk TATLIDİL

Blog : http://www.msexchangetr.org/


Profil Sayfası : http://social.technet.microsoft.com/profile/m.ufuk%20tatlidil%20-%20tat/

TechNet Wiki

New Articles194
Article Edits232
Comments13

17) Alper YAZGAN

Blog : http://www.alperyazgan.com/


Profil Sayfası : http://social.technet.microsoft.com/profile/alper%20yazgan%20-%20tat

TechNet Wiki

New Articles23
Article Edits68
Comments1

18) Abdullah KİSE

Blog : http://abdullahkise.blogspot.com.tr/


Profil Sayfası : http://social.technet.microsoft.com/profile/abdullah%20kise/

TechNet Wiki

New Articles13
Article Edits31

Comments

3

Neler yapıyoruz buradan takip edebilirsiniz ;

http://social.technet.microsoft.com/wiki/contents/articles/25867.turkish-avengers-team-home-tr-tr.aspx

Hasan Dimdik

我該選擇哪一種 Azure 的分散式快取 (Cache) 方案?

$
0
0

本文主要內容譯自 http://msdn.microsoft.com/en-us/library/azure/dn766201.aspx

在2014年5月12日,微軟宣布 Azure Redis Cache (技術預覽) 開始提供用戶測試使用。微軟公司建議 Azure 用戶所有的新開發的應用系統,未來皆採用 Azure Redis Cache。Azure Redis Cache 提供用戶一個由微軟管理,安全,專用的 Redis 快取服務。Microsoft Azure 提供了這項服務之後,用戶開始可以充分利用 Redis 目前在業界既有的生態系統與豐富的功能,並透過微軟穩定地營運與監管。

Redis

不同於只能使用 Key-Value 成對式的傳統的快取,Redis 之所以流行是因其具有多樣化且高效能之資料型別,Redis 所支援的各種資料型別可參閱 http://redis.io/topics/data-types。 Redis 也支援這些資料型別的運算操作 (atomic operation),例如用戶可以附加文字到一個 String; 可以遞增 Hash ; 可以推送一個資料至 List ; 可以計算兩個 Set 之間是否有交集的字串,差異的字串,與聯集的字串; 或是在 Sorted sets 內找到一個排序最高的成員。其他功能還包括支援運算不可部分完成的交易 (Transaction) ,發布/訂閱模式,Lua scripting,以及使 Redis 的表現更像一些傳統快取服務的相關功能,例如在 : 特定時間內 (time-to-live) 有效的 Key-Value 之配置與設置。

另一個重要的原因,是因為 Redis 週邊已經成功建立了一健康,充滿活力的開放原始程式碼之生態系統。能夠提供跨多種程式語言之 Redis client 用戶端環境,這使得 Microsoft Azure 內的現有用戶,無倫使用何種作業系統或程式語言都可以適用。對於 Microsoft ASP.NET 的用戶而言,Azure Redis Cache 亦提供了 ASP.NET Session State Provider,可參閱 http://msdn.microsoft.com/en-us/library/azure/dn690522.aspx步驟進行設定。如何取的 Redis Client Library for Microsoft .NET 可參閱 http://msdn.microsoft.com/en-us/library/azure/dn690471.aspx

目前 Microsoft Azure Redis 的高速快取服務雖尚在技術預覽階段,目前在快取容量可達 26 GB。預計在 2014 年底前此服務即會正式推出,屆時 Microsoft Azure Redis 將會支援超過 26 GB 的快取容量,並提供 99.9% 不停機的高可用性服務水準合約 (SLA)。

而目前既有的 Azure Managed Cache Service 同樣提供了 99.9% 高可用性服務水準合約 (SLA)。如果你是一個現有的 Azure Managed Cache Service 客戶,你仍可以繼續使用現有的服務或選擇未來遷移到 Microsoft Azure Redis ,以享用 Redis 所提供的各類新功能。同樣如果你是現有 Azure In-Role Cache 的客戶,你仍可以繼續使用現有的服務或選擇未來遷移到 Microsoft Azure Redis 以享用Redis 所提供的各類新功能。對於 Azure Shared Cache 的客戶,請注意 Azure Shared Cache 將於 2014年 9月1日終止服務,您應該盡快移植現有應用系統至其他快取服務,對於 Azure Shared Cache 移植相關指引文件可參閱: Migrate from Shared Caching.

Management Pack Citrix Netscaler

$
0
0

Vous avez installé le management pack Citrix Netscaler 10.1.120.13 et vous ne voyez pas certains compteurs de performance ?

  1. Certaines règles sont désactivées par défaut. Il faut donc rajouter des overrides pour voir la plupart des compteurs de performance.
  2. Bien que ce ne soit pas précisé dans la documentation, vous devez utiliser l'installeur pour enregistrer des .dll sur tous les Management Server. Cela permettra l'exécution des scripts vbs.

 

Ainsi, si vous aviez cette erreur sur l'un de vos Management Server:

C:\Program Files\Microsoft System Center 2012 R2\Operations Manager\Server\Health Service State\Monitoring Host Temporary Files 1856\34365\vserverTablePerformanceProvider.vbs(49, 10) Microsoft VBScript runtime error: ActiveX component can't create object: 'SScripting.SNMPManager'

 

Après installation du msi, le script vserverTablePerformanceProvider.vbs lancé à la main avec les bons paramétres retournera enfin des valeurs valides à Scom et vous verrez de nouveaux graphiques apparaitre !

 

La ligne 49 du script vserverTablePerformanceProvider.vbs correspond à :

Set oSNMP = CreateObject("SScripting.SNMPManager")

 

Pour information, si vous ouvrez la DLL SScrRun.dll avec un simple éditeur de texte, vous retrouverez bien la référence à SScripting.SNMPManager !

Sábado - Maiores Contribuintes na 1ª semana de Agosto/2014

$
0
0


Bem-vindos à mais um Sábado de Atualização Semanal dos principais contribuintes em nosso TechNet Wiki.

Este é o quadro geral com os atuais líderes.

ESTATÍSTICAS


Esta é a análise das contribuições do Technet Wiki (pt-BR) ao longo da última semana.

Segundo as estatísticas gerais, tivemos 285 usuários que contribuíram com 2.061 páginas.

Obtivemos 9.737 revisões com 5.853 comentários.

Para maiores detalhes veja nossa página: http://social.technet.microsoft.com/wiki/pt-br/default.aspx

 

DESTAQUES

Os destaques da semana vão para os seguintes colaboradores:

 


Ninja AwardPrêmio "Maiores Revisores"  
Quem fez mais revisões individuais

#1 Fernando Lugão Veltem com 9 revisões.

  

#2 Carlos F. da SilvaDurval Ramos e Jorge Pretel - MCSE Infrastructure com 8 revisões.

  

#3 M.Ufuk TATLIDIL - TAT com 5 revisões.

 

Muitas contribuições foram realizadas pelos primeiros colocados, com um empate na 2ª posição. 

Temos um "vingador" da Comunidade Turca (TAT) na 3ª posição, atualizando alguns artigos traduzidos.

Bom trabalho de todos!

 


Ninja AwardPrêmio "Artigos Mais Atualizados"  
Quem atualizou mais artigos

 #1 Fernando Lugão Veltem com 8 artigos.

  

#2 Durval Ramos com 7 artigos.

  

#3 Carlos F. da SilvaJorge Pretel - MCSE Infrastructure e M.Ufuk TATLIDIL - TAT com 5 artigos.

 


Ninja AwardPrêmio "Artigo Mais Revisado"  
Artigos com mais revisões na semana

Esta semana, a maioria da Comunidade revisou os artigos:

-  Instalando Remote Desktop no Windows Phone, escrito por Vinicius Mozart

Este artigo foi revisto 2 vezes na semana passada.

O revisor desta semana foi Vinicius Mozart

 

 - Visão Geral Microsoft Azure Backup, escrito por Fernando Lugão Veltem

Este artigo foi revisto 2 vezes na semana passada.

O revisor desta semana foi Fernando Lugão Veltem

 

Backup do Website no Microsoft Azure em conta de armazenamento diferente do site, escrito por Jorge Pretel - MCSE Infrastructure

Este artigo foi revisto 2 vezes na semana passada.

O revisor desta semana foi Jorge Pretel - MCSE Infrastructure

 

Capturando imagem no Microsoft Azure via Powershell, escrito por Jorge Pretel - MCSE Infrastructure.

Este artigo foi revisto 2 vezes na semana passada.

O revisor desta semana foi Jorge Pretel - MCSE Infrastructure

 


Ninja AwardPrêmio "Artigo Mais Popular"  
Colaboração é o nome do jogo!

#1 artigo atualizado pela maioria das pessoas nesta semana é Capturando imagem no Microsoft Azure via Powershell, escrito por Jorge Pretel - MCSE Infrastructure

O revisor desta semana foi Jorge Pretel - MCSE Infrastructure

 

O #2 artigo atualizado pela maioria das pessoas nesta semana é Instalando Remote Desktop no Windows Phone, escrito por Vinicius Mozart

O revisor desta semana foi Vinicius Mozart

 

O #3 artigo atualizado pela maioria das pessoas nesta semana é Backup do Website no Microsoft Azure em conta de armazenamento diferente do site, escrito por Jorge Pretel - MCSE Infrastructure

O revisor desta semana foi Jorge Pretel - MCSE Infrastructure

 


 

Parabéns à todos pelas excelentes contribuições.

A nossa Comunidade cresce à cada dia graças a todos que doaram seu tempo para compartilhar seu conhecimento ao longo desta semana.

Vale lembrar, que toda e qualquer ajuda/contribuição para a comunidade é importante e muito bem vinda.


Até +,

Wiki Ninja Durval Ramos ( BlogTwitterWikiPerfil )

Top Contributors Awards! How to predict wine quality with Azure Machine Learning!! Gurus go to France! Windows 8.1 - The differences! TAT! And more TAT!!!!

$
0
0

Welcome back for another analysis of contributions to TechNet Wiki over the last week.

First up, the weekly leader board snapshot...

 

New boy Muhammad romps to the top this week, with a monster score. And Anil topping the monthly's. great work every one!

 

As always, here are the results of another weekly crawl over the updated articles feed.

 

Ninja AwardMost Revisions Award  
Who has made the most individual revisions
 

 

#1 Muhammad Ehsan with 142 revisions.

  

#2 Recep YUKSEL - TAT with 85 revisions.

  

#3 Richard Mueller with 46 revisions.

  

Just behind the winners but also worth a mention are:

 

#4 Anil Avula with 38 revisions.

  

#5 Dan Christian with 36 revisions.

  

#6 Carsten Siemens with 33 revisions.

  

#7 M. Samara with 29 revisions.

  

#8 Mehmet PARLAKYIGIT-TAT with 26 revisions.

  

#9 Nonki Takahashi with 23 revisions.

  

#10 Maheshkumar S Tiwari with 22 revisions.

  

Ninja AwardMost Articles Updated Award  
Who has updated the most articles
 

 

#1 Muhammad Ehsan with 62 articles.

  

#2 Recep YUKSEL - TAT with 60 articles.

  

#3 Richard Mueller with 35 articles.

  

Just behind the winners but also worth a mention are:

 

#4 Carsten Siemens with 25 articles.

  

#5 Dan Christian with 19 articles.

  

#6 Fernando Lugão Veltem with 12 articles.

  

#7 Maheshkumar S Tiwari with 11 articles.

  

#8 Nonki Takahashi with 7 articles.

  

#9 Davut EREN - TAT with 6 articles.

  

#10 M.Ufuk TATLIDIL - TAT with 6 articles.

  

Ninja AwardMost Updated Article Award  
Largest amount of updated content in a single article
 

 

The article to have the most change this week was TechNet Gurus : Contributions pour les Mois d'Août et de Septembre 2014 (fr-FR), by Benoit Jester - MTFC

This week's reviser was Casteres.Romain

A fantastic effort by Benoit brings TechNet Gurus to the mainland! Well, France anyway. Thank you Benoit for your gallant efforts for TechNet Wiki, nous t'aimons! 

 

Ninja AwardLongest Article Award  
Biggest article updated this week
 

 

This week's largest document to get some attention is Windows 8.1 Sürümleri ve Özelliklerini Karsilastirma (tr-TR), by Mehmet PARLAKYIGIT-TAT

This week's reviser was Mehmet PARLAKYIGIT-TAT

This awesome piece of work from Mehmet compares the features of Windows 8.1 versions, taken from here. A great translation and format job Mehmet!

 

Ninja AwardMost Revised Article Award  
Article with the most revisions in a week
 

 

This week's most fiddled with article is Turkish Avengers Team Council Center, by Gokan Ozcifci. It was revised 14 times last week.

This week's revisers were Alper Yazgan - TAT, Nihat ALTINMAKAS, Mehmet PARLAKYIGIT-TAT, Muhammad Ehsan, Davut EREN - TAT& Recep YUKSEL - TAT

The Avengers strike again! More edits by team members, showing who does what and when :)

 

As that is a regular winner, this week's SECOND most fiddled with article is Predict Wine Quality with Azure Machine Learning, by Casteres.Romain. It was revised 13 times last week.

This week's revisers were Casteres.Romain& Benoit Jester - MTFC

What a fun article from Casteres, and a great subject! :D

This is definitely worth a read, or translate and read, for anyone interested in Azure Machine Learning.

  

Ninja AwardMost Popular Article Award  
Collaboration is the name of the game!
 

 

The article to be updated by the most people this week is Turkish Avengers Team E-Books List (tr-TR), by Mehmet PARLAKYIGIT-TAT

This week's revisers were Recep YUKSEL - TAT, Ugur Demir - TAT, Elguc Yusifbeyli-TAT, Hasan Dimdik - TAT, Davut EREN - TAT& Mehmet PARLAKYIGIT-TAT

A new article from the Avengers (TAT) and an "acorn" no doubt destined for oak tree status :)  Good luck with this one, boys ;)

 

Ninja AwardNinja Edit Award  
A ninja needs lightning fast reactions!
 

 

Below is a list of this week's fastest ninja edits. That's an edit to an article after another person

 

Ninja AwardWinner Summary  
Let's celebrate our winners!
 

 

Below are a few statistics on this week's award winners.

Most Revisions Award Winner
The reviser is the winner of this category.

Muhammad Ehsan

Muhammad Ehsan has won 10 previous Top Contributor Awards. Most recent five shown below:

Muhammad Ehsan has not yet had any featured articles, interviews or TechNet Guru medals (see below)

Muhammad Ehsan's profile page



Most Articles Award Winner
The reviser is the winner of this category.

Muhammad Ehsan

Muhammad Ehsan is mentioned above.



Most Updated Article Award Winner
The author is the winner, as it is their article that has had the changes.

Benoit Jester - MTFC

Benoit Jester - MTFC has been interviewed on TechNet Wiki!

Benoit Jester - MTFC has TechNet Guru medals, for the following articles:

Benoit Jester - MTFC has won 45 previous Top Contributor Awards. Most recent five shown below:

Benoit Jester - MTFC has not yet had any featured articles (see below)

Benoit Jester - MTFC's profile page



Longest Article Award Winner
The author is the winner, as it is their article that is so long!

Mehmet PARLAKYIGIT-TAT

Mehmet PARLAKYIGIT-TAT has been interviewed on TechNet Wiki!

Mehmet PARLAKYIGIT-TAT has won 13 previous Top Contributor Awards. Most recent five shown below:

Mehmet PARLAKYIGIT-TAT has not yet had any featured articles or TechNet Guru medals (see below)

Mehmet PARLAKYIGIT-TAT's profile page



Most Revised Article Winner
The author is the winner, as it is their article that has ben changed the most

Gokan Ozcifci

Gokan Ozcifci has been interviewed on TechNet Wiki!

Gokan Ozcifci has won 55 previous Top Contributor Awards. Most recent five shown below:

Gokan Ozcifci has not yet had any featured articles or TechNet Guru medals (see below)

Gokan Ozcifci's profile page

Casteres.Romain

This is the first Top Contributors award for Casteres.Romain on TechNet Wiki! Congratulations Casteres.Romain!

Casteres.Romain has not yet had any featured articles, interviews or TechNet Guru medals (see below)

Casteres.Romain's profile page



Most Popular Article Winner
The author is the winner, as it is their article that has had the most attention.

Mehmet PARLAKYIGIT-TAT

Mehmet PARLAKYIGIT-TAT is mentioned above.



Ninja Edit Award Winner
The author is the reviser, for it is their hand that is quickest!

Elguc Yusifbeyli-TAT

Elguc Yusifbeyli-TAT has won 4 previous Top Contributor Awards:

Elguc Yusifbeyli-TAT has not yet had any featured articles, interviews or TechNet Guru medals (see below)

Elguc Yusifbeyli-TAT's profile page

Muhammad Ehsan

Muhammad Ehsan is mentioned above.



What a great week of reads! Keep the content coming, we want more!! :D

 

Best regards,
Pete Laker (XAML guy)

 


PowerTip: Use PowerShell to Identify Users Without a Photo

$
0
0

Summary: List all users who do not have a photo assigned in Active Directory.

Hey, Scripting Guy! Question Is there a simple way that I can use Windows PowerShell to identify users who do not have a photo assigned in Active Directory?

Hey, Scripting Guy! Answer Target the ThumbnailPhoto property, and filter the users for Null:

GET-ADUSER –filter * -properties ThumbnailPhoto | Where { $_.ThumbnailPhoto –eq $NULL }

Welcome to My Digital Work Thoughts Blog

$
0
0

 For quite some time I was thinking about one sentence Satya shared with the world “Our industry does not respect tradition – it only respects innovation”. I really believe that this is true. While in the past IT Professionals were asked to maintain servers, desktops or networks it’s now the time where we are considered as enablers for the users.

This can be achieved by for example evaluating and deploying solutions which enables collaboration, by using cloud services to gain higher availability or providing unified manageability to enable BYOD.

What can you expect on this blog?

My promise to you is that this blog will help you to understand how to evaluate and deploy solutions which will influence the digital work and user productivity of your users. This could be from how to deploy Windows To Go, over to how to test Yammer and even how to manage Devices users bring to work – all this combined with real field experience gained through many Microsoft Premier Support engagements.

What is in the pipeline?

  • How companies in all industries are enabling kiosk mode in Windows Phone to lock down the devices for a single purpose

  • Enabling users to travel light with Windows To Go

  • How to get started with Enterprise Social with Yammer

I would like to finish this very 1st blog post with one more quote of Satya: “Productive people and organizations are the primary drivers of individual fulfilment and economic growth and we need to do everything to make the experiences and platforms that enable this ubiquitous.”

Thank You,

Milad Aslaner

 

A dress selection experience integrated to Salesforce.com data

$
0
0

Ever since we released the WADL Generator tool (in alpha) for Siena, it's become easy to get Project Siena to work with Salesforce.com.

See http://channel9.msdn.com/Blogs/Microsoft-Project-Siena/App-Tour-Salesforce-Dress-by-Color for an app that delivers a novel fashion selection experience, with the key product data coming from Salesforce.com.

Also see http://www.wadewegner.com/2014/08/build-a-windows-8-app-for-salesforce-with-no-code-using-project-siena/ for how Wade Waggoner built a Siena + Salesforce.com app, including insights about the required WADL.

This is an exciting development, as it opens the window to an even larger number of apps.

Weekend Scripter: Add Security Groups to Print Servers by Using PowerShell

$
0
0

Summary: Guest blogger, Alan Morris, talks about using Windows PowerShell to add security groups to print servers.

Microsoft Scripting Guy, Ed Wilson, is here. Today we have a guest blog from Alan Morris. Here is a little about Alan:

Alan Morris has been involved with testing the Windows print system since Windows 2000. Active on Microsoft forums, he has been helping people worldwide with print-related issues for over 10 years. Working with Microsoft IT, he has been instrumental in rolling out prerelease versions of Windows Server for use as production print servers.

Getting started

Suppose I have a print server that has several hundred printers already installed. My task now is to add a security group to each printer so that new security group can manage documents that are sent to shared resources. So how do I do that?

First of all, I reviewed the following documentation on TechNet: Assigning Delegated Print Administrator and Printer Permission Settings in Windows Server 2008 R2.

Next, I configured the print server default security to the proper settings that I found in the TechNet document. I also know from the document that I need to set all the previously installed printers to the updated security policy. Although I can easily set the default print server security by using the graphical user interface, setting security on several hundred printers will be a major pain if I use the mouse and keyboard.

The next thing I do is add a new printer and verify that the security gets set properly. This is a test to make sure that I have everything set up properly. I do not want to open the UI and add the group to each of the printers that are already installed.

The easy way to accomplish the task of setting the security on the previously installed printers is to obtain the security settings from the new printer I just added. Then all I have to do is to apply this setting to the other printers on the server.

Use Windows PowerShell—it is easy

I will use the Get-Printer cmdlet to read the value of the security settings on the newly added printer. I then use the Set-Printer cmdlet to write the value of the security settings to the other printers.

Here are the Windows PowerShell commands that I need to use:

$security = get-printer "printer with changes" -full

get-printer * | Foreach-Object {set-printer $_.name -PermissionSDDL $security.PermissionSDDL}

The –Full flag is required when obtaining the security information, and takes a bit longer to obtain the extra data. However, most of the information you need from the printer does not require this flag.

When I attempt this task on my print server running Windows Server 2008 R2, it fails with the following error message:

The term 'get-printer' is not recognized as the name of a cmdlet,……

Because the Windows PowerShell commands use spooler calls, they do work in remote cases. For this task on computers running on Windows 8.1 and Windows 8, the commands are:

$security = get-printer -computer SERVER2008R2 "printer with changes" -full

get-printer * -computer SERVER2008R2|
Foreach-Object {set-printer $_.name -computer SERVER2008R2 -PermissionSDDL $security.PermissionSDDL}

If the print server running Windows 2008 R2 is a cluster, the remote cluster is handled the same as a standalone server. There is nothing special regarding the clustered spooler resource.

~Alan

Thanks, Alan! That’s it for now.

I invite you to follow me on Twitter and Facebook. If you have any questions, send email to me at scripter@microsoft.com, or post your questions on the Official Scripting Guys Forum. See you tomorrow. Until then, peace.

Ed Wilson, Microsoft Scripting Guy 

„Was, Sie merken nicht, dass Sie mit einem Computer sprechen?“

$
0
0

Letzten Monat hat die Universität von Reading verkündet, dass erstmals ein Computer den vor 64 Jahren definierten Turing Test bestanden hat. Alan Turing, ein britischer Mathematiker und Informatiker, hatte diesen Test im Jahr 1950 vorgeschlagen, um festzustellen, ob eine Maschine ein dem Menschen ebenbürtiges Denkvermögen besitzt. Der Test soll also der Feststellung von künstlicher Intelligenz dienen und Turing erwartete, dass er im Jahr 2000 bestanden werden könnte.

Kurz gesagt geht es darum, ob menschliche Fragensteller in einer fünfminütigen, freien Konversation über Tastatur und Bildschirm zu mehr als 30% nicht mehr zwischen einem menschlichen Gegenüber und einem Computer als Gesprächspartner unterscheiden können. Ob sich mit diesem Test nun tatsächlich künstliche Intelligenz feststellen lässt, ist inzwischen umstritten und die Testbedingungen in Reading waren sicherlich auch etwas eigenwillig (hier mehr zum Turing Test).

Was sich aber zweifelsohne feststellen lässt: Die unbelebte Welt um uns herum fühlt sich zunehmend intelligenter an. Dem Smartphone oder Tablet in unserer Hand ist „irgendwie bewusst“, wo es sich befindet, welche Tageszeit wir haben, wie das Wetter gerade ist und unsere persönlichen, digitalen Assistenten „wissen“ und teilen uns mit, dass wir aufgrund eines Verkehrsstaus früher als sonst zum Flughafen aufbrechen sollten oder dass wir heute vielleicht mal wieder zu wenig Bewegung hatten.

Möglich wird dies alles durch Sensoren, deren Vernetzung und eine Vielzahl von lernenden Algorithmen, die „Erkenntnisse“ ermöglichen, inzwischen eben auch für alle Arten von Computern.

Wie weit wir damit bereits sind, zeigt eindrucksvoll und aktuell das Projekt Adam von Microsoft Research, in dem ein neuronales Netzwerk durch eine Vielzahl von Servern in der Microsoft Azure Cloud aufgebaut wird. Dieses Netzwerk ist in besonderem Maße lernfähig, da es asynchron arbeiten und quasi Analyse-Unteraufgaben im Netzwerk verteilen kann, die weitgehend unabhängig voneinander gelöst werden und danach zu einer „Gesamterkenntnis“ verschmolzen werden.

Beeindruckend ist beispielsweise das Ergebnis, das dieses kurze Demo-Video zeigt, in dem sich Cortana, Microsoft’s persönliche Assistentin auf dem Windows Phone, die Lernfähigkeiten von Projekt Adam zunutze macht, um zuverlässig Hunderassen zu erkennen.

(Please visit the site to view this video) 

Übrigens hat Cortana auch die Gewinner aller Endrundenspiele der Fußballweltmeisterschaft richtig vorher gesagt.

Das sich entwickelnde Internet der Dinge wird uns auf dem Weg zu künstlicher Intelligenz deutlich weiter bringen. Eine unglaubliche Zahl unterschiedlicher, miteinander vernetzter Sensoren, gigantische, verteilte Verarbeitungs- und Speicherkapazitäten, effiziente Algorithmen zur Analyse und Interpretation – diese Beschreibung vom Internet der Dinge passt eben auch auf das menschliche Gehirn.

 

Written by

Thomas Langkabel,
National Technology Officer, Microsoft Deutschland


How to do Hard Match- Part 2 ?

$
0
0

In my previous post I wrote about how we can do Hard Match of objects in on-premise to the corresponding objects in the cloud through Dirsync.

In this post we will be looking into a simple way to generate Immutable ID that we used in Hard Match process.

Connect to the machine where we have AD installed. Open a cmd prompt with administrator credentials and run the below command

ldifde -f export.txt -r "(Userprincipalname=*)" -l "objectGuid, userPrincipalName"

 

 

This command will give us an output file  export.txt that has all the user principal names and Immutable IDs of all objects that has UPN.

The output looks like this for each object

----------------------------------------------------
dn: CN=2013 OU=DirSynced OU DC=prakum DC=msftonlinerepro DC=com 
changetype: add     
objectGUID:: g8Pclm4vok+vFWtMERklmg==     
userPrincipalName: 2013@prakum.msftonlinerepro.com     
----------------------------------------------------

 

Now whichever object we want to do a hard match we just have to search for the object using UPN in the above text file and note down the corresponding objectGUID for that object.

We can use the objectGUID in the below command to set the immutable ID in the cloud for the object as below

Set-MsolUser -UserPrincipalName User@domain.com -ImmutableId g8Pclm4vok+vFWtMERklmg==  

Here  User@domain.com is the UPN of the user who is in cloud and we want to sync the on-premise user to sync to.

 

Run Dirsync

Now force an Dirsync to connect the users 

 

Note: Due to replication and delay in onprem and cloud we might have to wait for some time and force Dirsync couple of times.

使用System Center Operations Manager R2監控Windows Azure Pack

$
0
0

System Center 2012 R2 Operations Manager,主要功能就是針對系統進行監控和管理,本文針對監控Windows Azure Pack來做說明。

本文作者曾雄鉅,現職鼎新電腦資深系統工程師。


 

主要動作有兩個,第一個是匯入相關的套件,可以直接下載到本地磁碟也可以使用預設的方式透過網路下載匯入。本文是到微軟下載中心下載Windows Azure Pack的管理套件,下載連結如下:

http://www.microsoft.com/zh-tw/download/details.aspx?id=40805

 

第二個動作當然是安裝代理程式到Windows Azure Pack 的主要入口網站上。以下就一一來做說明。


首先開啟 Operations Manager 主控台

切換到系統管理的頁籤

點選管理組件的選項

接下來選取右側工作列的匯入管理套件,彈出匯入精靈

選擇從本機磁碟匯入

選擇要匯入的套件

點選安裝

完成安裝

接下來從主控台選擇探索精靈

彈出探索精靈

本文選擇進階探索

點選瀏覽,選擇要探索的主機

輸入驗證帳號密碼

點選完成

完成代理程式安裝

完成後回到主控台,切換到監視的頁籤

找到監控Azure Pack的物件,可以看到Azure Pack安裝的物件的狀態

點選其中一筆,可以看到詳細的狀態

    作者:曾雄鉅 (雄、大熊) / 鼎新電腦資深系統工程師
    專長:IBM 大型主機相關技術、虛擬化相關技術 (VMware、Hyper-V、KVM、XEN)、
               Windows Server相關技術。
    特殊經歷第二屆虛擬化戰士銀翼級認證
    個人部落格: http://www.dotblogs.com.tw/tschu/Default.aspx


Getting Started With Office Patterns and Practices And Exploring the SpProxyForSpaApp Sample

$
0
0

I recently submitted a solution to the Office PnP repo called "Core.SharePointProxyForSpaApps". This solution combines techniques from an article called "Managing Tokens in SharePoint 2013 Single-Page Provider-Hosted Apps" from Scot Hillier and expands on the concept to provide a full sample and utilize the proxy technique which allows for more flexibility.

Why do we need this:
In order for provider hosted apps to request resources from sharepoint it must send an access token for authentication. Currently SharePoint doesn't support the OAuth 2.0 Implicit grant flow so the acces tokens we receive have a longer expiration period and must be protected with more caution.
In other words, we can't expose the access tokens to the client and must make requests through our server; however we still want to use the same programming model of having all the logic on the client. To have the best of both worlds we use a custom WebAPI controller which acts as proxy add access token to requests and passing them through to sharepoint.

Video showing how to get started using the Office PnP repo in Visual Studio 2013 as well as a walk through of the sample explaining the logic and flow of data in more detail.

Youtube: http://youtu.be/ezsGMyMK3-k

(Please visit the site to view this video)

References:

Core.SharePointProxyForSpaApps: https://github.com/OfficeDev/PnP/tree/master/Samples/Core.SharePointProxyForSpaApps

Office PnP Repository: https://github.com/OfficeDev/PnP

Office 365 Developer Podcast: Episode 009: http://blogs.office.com/2014/07/31/office-365-developer-podcast-episode-009-vesa-juvonen-steve-walker/

Managing Tokens in SharePoint 2013 Single-Page Provider-Hosted Apps: http://www.itunity.com/article/managing-tokens-sharepoint-2013-singlepage-providerhosted-apps-445

Windows Server 2003 End of Service Roadshows

$
0
0

In early September 2014, MVPs and Community Leaders will be sharing their expertise to help you understand the technical and business impact of the end of support for Windows Server 2003, Windows Server 2003 R2 and Small Business Server 2003. 

Topics covered will include:

  • What does End of Support mean: Learn about what end of support means for your business and the implications of running unsupported technology
  • Why Windows Server 2012 and Azure: Times have changed since 2003 and so have Microsoft’s product offerings. Learn about the increased functionality in Windows Server 2012 and Azure and how they can help your business needs.
  • How do you move to Windows Server 2012: Where to start can often be a daunting task when it comes to server migrations. This session will outline the methodology you should apply when thinking of migrating, and more importantly, how to migrate shown through hands on demos.
  • Application compatibility: Application compatibility presents a potential barrier to upgrading. See first hand tools, hints and tips for upgrading your applications to Windows Server 2012 or to Azure.


These MVP and community led evening events are being hosted across the country and we look forward to seeing you there. If you have any questions, please email csmyth@microsoft.com or the MVPs shown on each registration page.

Again to register, please click on the relevant link below:


More about Windows Server End of Support

SQL Server 2014 para Desarrolladores

$
0
0

Duración: 50 min.  

Tema: SQL Server 2014 para Desarrolladores. 

Descripción del tema: En esta tema hablaremos de las nuevas ventajas que nos ofrece SQL Server 2014. 

Objetivo: Dar a conocer cómo funcionan las nuevas característica de SQL Server 2014 en el area de desarrollo, lo que permitirá usar estas características para mejorar el rendimiento de sus consultas y hacer decisiones informadas de porque ir a esta nueva versión de SQL Server.

Presentador: Edinson Medina

Idioma: Español

(Please visit the site to view this video)

Code for Honor ‘14 – Meet the winners who define gold standard in software!

$
0
0
The grand finale of Code for Honor , the inaugural edition of Microsoft’s Solution Excellence Awards 2014, was held in Bangalore sometime ago! What a fantastic experience it was. So many ideas, so much talent and such efficient and innovative use of technologies – both Microsoft and non-Microsoft – We were truly humbled! Code for Honor was created to recognize excellence in the development of software solutions by small & medium-sized Independent Software Vendors (ISVs), especially those that...(read more)

SQL Server 2014 para Desarrolladores

$
0
0

Duración: 50 min.  

Tema: SQL Server 2014 para Desarrolladores. 

Descripción del tema: En esta tema hablaremos de las nuevas ventajas que nos ofrece SQL Server 2014. 

Objetivo: Dar a conocer cómo funcionan las nuevas característica de SQL Server 2014 lo que permitirá usar estas características para mejorar el rendimiento de sus consultas y hacer decisiones informadas de porque ir a esta nueva versión de SQL Server..  

Presentador: Edinson Medina

Idioma: Español

(Please visit the site to view this video)

Viewing all 17778 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>