Category Archives: MSDN Blog - Page 2

??? Windows Store ??????? App ?????????? ???????????????

????????????? Windows Store ?????????????????????????????????????????????????????:

 

http://getsupport.microsoft.com

 

???????????????????!

 

??????????:

image

 

???????????????????:

image

 

?Windows ???????????:

image

 

??????????? email ??????? 24 ??????????

image

 

???????:

??1 

What’s Changing in the Next Release?

The next release of Microsoft Dynamics CRM will bring many great new features for your organization—whether you use Microsoft Dynamics CRM Online or are running Microsoft Dynamics CRM on-premises. You can use the information in these two pages to help you plan for the next release.

 

Amy Langlois
Sr Content Publishing Mgr, Technical Audiences
Microsoft Dynamics CRM

Quick news: Two new Jump Starts coming right up!

One June 20: Move to Hybrid Cloud with System Center & Windows Azure Jump Start. Details here.

On June 21: Getting Started with Microsoft Big Data, Hive & HDInsight Jump Start. Details here.

Both are free. Enjoy!

SQL Server 2012 RTM Cumulative Update 8

Dear Customers,
The 8 th cumulative update release for SQL Server 2012 is now available for download at the Microsoft Support site. Cumulative Update 8 contains all the SQL Server 2012 hotfixes which have been available since the initial release of SQL Server 2012.
To learn more about the release or servicing model, please visit:

CU#8 KB Article: http://support.microsoft.com/kb/2844205
Understanding IncrementalServicingModel for SQL Server
SQL Server Support Information: http:/…(read more)

Launching a process as a normal user from an elevated user.

A frequent question from our customers is the ability to launch a non-elevated user from an elevated user.  This can typically happen from an installer application which is elevated and you want to launch an application as a non-elevated user.

It turns out you can use CreateProcessWithTokenW() to launch a non-elevated process from an elevated user.  The caller just needs to be an Administrator (elevated).  You do not need to provide any additional privileges or rights.

The only issue is providing a non-elevated token to CreateProcessWithTokenW() (http://msdn.microsoft.com/en-us/library/windows/desktop/ms682434(v=vs.85).aspx) which represents a non-elevated user.  The best process to target is the shell process which is typically explorer.exe. You can change the shell process via the registry so it is possible that another process maybe running as the shell which isn’t explorer.exe.  Here is the registry key:

Key:
HKEY_LOCAL_MACHINE \SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon

Name: Shell

Type: REG_SZ

Value: [Explorer.exe
or Cmd.exe or PowerShell.exe or others]

Once you have determined the non-elevated process to target, you can use the ToolHelp APIs (http://msdn.microsoft.com/en-us/library/windows/desktop/ms686837(v=vs.85).aspx) or the PSAPI APIs (http://msdn.microsoft.com/en-us/library/windows/desktop/ms686941(v=vs.85).aspx) to enumerate all the running processes to find the targeted process.  Once you have found the correct process, you can call OpenProcess() and OpenProcessToken() to obtain the token. Once you have duplicated the token via DuplicateTokenEx(), you can pass it to CreateProcessWithTokenW().

Since it is possible that you could have multiple instances of the shell running on the system in different session (Remote Desktop Server), you should verify that you have the shell
process that is running in the same session as your application.  You can use ProcessIdToSessionId() to get the session ID for a process.  You can call WTSQuerySessionInformation() to determine the current session you are running in.  You can then compare the session IDs.

You do NEED to obtain a token of the INTERACTIVE user (user who logged on via CTRL-ALT-DELETE since they have access to the INTERACTIVE desktop) so that you don’t have to deal with desktop security.  The code becomes much more complex if you obtain a token from a different user or if you decide to
generate your own token with LogonUser(). I strongly suggest you NOT go this route.

Finally, you could call WTSQueryUserToken() to obtain the token of the logged on user.  The issue is that the caller needs to have the SE_TCB_PRIVILEGE (no user is granted this privilege by default other than LocalSystem).  I would NOT recommend granting this privilege to any user (even an Administrator).

Nærværende og meningsfuld kommunikation fra stuen til bestyrelseslokalet med Lync Room System

Historisk har teknologien været i fokus, når mennesker samarbejder og kommunikerer virtuelt, og vi tilpasser os de digitale universer inden for pc’en, mobilen og videokommunikation. Men med Lync 2013 sætter Microsoft mennesket i fokus, således at brugeroplevelsen går forud for teknologien. Lync Room System er nemlig et videokonferencesystem, hvor brugeren kan deltage aktivt i et møde såvel i mødelokalet som fra hjemmet, på farten og fra alle enheder.

Microsoft Lync har i mange virksomheder og organisationer været med til at forbedre samarbejdet og kommunikationen, slippe mobile medarbejdere løs og samtidig nedbringe rejseomkostninger. Ved fx at bruge Lync til video- og tele-konferencer samt tilstedeværelse og chat, kan organisationer forbedre produktiviteten ved dels at kontakte kollegaer og kunder, når de er tilgængelige, og dels vælge det rigtige kommunikationsværktøj til den pågældende opgave.

Bill Gates har således også fremhævet vigtigheden af Lync som samarbejdsplatform med udtalelsen: ”Lync er det vigtigste værktøj for vidensmedarbejderen, siden pc’en så dagens lys”.

Tidligere i år lanceredes den nye Microsoft Lync 2013, som byder på en lang række forbedringer i forhold til de tidligere versioner. Med Lync 2013 fulgte også Microsofts bud på fremtidens lokalebaserede videokonferencesystem, hvor hardware og software smelter sammen, og hvor brugeren sættes i centrum.

Opstart af traditionelle videokonferencer giver spildtid og frustrationer

Selvom videokonferencesystemer giver produktivitetsgevinster og besparelser, har de fleste CIOs, it-chefer og medarbejdere da også stødt på udfordringerne. I Microsoft har vi observeret, at man i gennemsnit bruger 8-10 min. på opstart af hvert videokonferencemøde, før kommunikationen er etableret, og indholdet delt til mødet. Andre typiske udfordringer ved traditionelle videokonferencesystemer er:

  • Stort fokus på videofunktionen og mindre fokus på det indhold, man deler og taler om. Indhold som f.eks. en præsentation eller et delt dokument sendes som videostrøm, hvorfor mødedeltagerne ikke har mulighed for at interagere aktivt med indholdet.
  • Videoudstyret bliver ikke anvendt, da mange synes det er for kompliceret at bruge.
  • Distancemedarbejdere kan føle sig isolerede, fordi personerne i selve konferencerummet styrer agendaen for, hvilke personer og hvilket indhold, man kan se.

Lync Room System forener det bedste af begge verdener

Lync har historisk været ideel til deling af indhold og samarbejde via mødedeltagernes pc’er. Til gengæld har tidligere udgaver af Lync haft mindre fokus på videooplevelsen. Med de stærkt forbedrede videokonferencefunktioner i Lync 2013 generelt – og introduktionen af de nye Lync Room Systems – får man nu det bedste af to verdener: Videokonference i fuld HD-kvalitet kombineret med distance-samarbejde og interaktiv deling af informationer og indhold.

Lync Room System leveres i forskellige størrelser, så det passer til lokalet og antallet af personer rundt om bordet. Da løsningen er bygget på touch-skærme kan mødedeltagerne interagere direkte med det delte indhold – uanset om det er PowerPoint, delte applikationer eller interaktive whiteboards.

Generelt gør Lync 2013 desuden møder mere enkle: Uanset om du er på kontoret eller på farten kan du deltage i et Lync-møde med et enkelt klik eller en enkelt berøring. Du skal ikke længere notere eller huske opkaldsnumre og adgangskoder. Du skal blot klikke på ”Deltag i Lync-møde” fra en Outlook-mødepåmindelse på computeren eller fra kalender- eller møderuden på en Windows Phone-, iOS- eller Android-enhed. Afhængigt af mødetypen kan du nu bestemme, om du vil slå lyden fra for deltagerne og tillade eller blokere for videodeling, når du planlægger mødet. 

Andre fordele ved Lync Room System (LRS) er:

  • LRS starter op på få sekunder, og det nye videogalleri viser mødedeltagere, der kan deltage aktivt fra konferencerummet, fra pc’en, på farten via Lync Mobile, fra en tablet eller ringe ind fra en ekstern telefonlinje. Man har således fuldt overblik over mødets deltagere og indhold gennem hele mødet.
  • Det er lige så nemt at arrangere møder og dele indhold i videomødet som på pc’en, da brugeroplevelsen er velkendt fra Outlook og Lync, og de samme værktøjer bruges til at afholde en videokonference.
  • LRS er automatisk konfigureret, så du kan starte mødet uden tekniske udfordringer. En touch-baseret konsol gør det nemmere at starte og styre mødet samt invitere og tilføje deltagere løbende. Touch-funktionen giver mere interaktivitet i selve mødet.
  • LRS kommer i HD (1080p) og fås med en eller to skærme alt afhængig af rummets størrelse, et HD-videokamera, der fanger hele rummet i fuld 1080p opløsning, wideband audio, der giver en klar lydoplevelse fra og til rummet, og en touch-konsol. Systemet kan køre på en Lync Server i eget datacenter eller via Lync Online i skyen.       

De første Lync Room Systemer kommer på markedet i løbet af juni 2013 og udbydes af Microsoft-partnerne Crestron, Lifesize, Polycom og SMART.

Læs mere om Lync Room System her.

Vh. Jørgen Rahbek, produktchef, Microsoft Lync, jorgenr@microsoft.com 

Database as a Service (DBaaS) Upcoming Webinar

I wanted to pass along this invite to a free webinar on Database-as-a-Service (DBaaS) that will show how to leverage many of the investments you’ve made in Microsoft technologies.  Database as a Service -The next step in Data Center Maturity Are you having difficulty managing fragmented application and database environments with hundreds or even thousands … Continued…(read more)

Performance Guidance for SQL Server in Windows Azure Virtual Machines

Authors: Silvano Coriani, Jasraj Dange, Ewan Fairweather, Xin Jin, Alexei Khalyako, Sanjay Mishra, Selcin Turkarslan

Technical Reviewers: Mark Russinovich, Brad Calder, Andrew Edwards, Suraj Puri, Flavio Muratore, Hanuma Kodavalla, Madhan Arumugam Ramakrishnan, Naveen Prakash, Robert Dorr, Roger Doherty, Steve Howard, Yorihito Tada, Kun Cheng, Chris Clayton, Igor Pagliai, Shep Sheppard, Tim Wieman, Greg Low, Juergen Thomas, Guy Bowerman, Evgeny Krivosheev

Editor: Beth Inghram

 

 

Summary: Developers and IT professionals should be fully knowledgeable about how to optimize the performance of SQL Server workloads running in Windows Azure Infrastructure Services and in more traditional on-premises environments. This technical article discusses the key factors to consider when evaluating performance and planning a migration to SQL Server in Windows Azure Virtual Machines. It also provides certain best practices and techniques for performance tuning and troubleshooting when using SQL Server in Windows Azure Infrastructure Services.

 

Read on: Performance Guidance for SQL Server in Windows Azure Virtual Machines.

Fazendo upload de arquivos para o Windows Azure com PowerShell

Olá pessoal,

Algumas pessoas tem me perguntado que uma vez que as máquinas estão rodando no Windows Azure como enviar arquivos para o seu ambiente. Uma das possibilidade pode ser o uso do Windows Azure Storage em conjunto com o PowerShell. Para seguir os passos abaixo, estou assumindo que vc executou os passos ou leu o post Administrando Windows Azure com PowerShell.

O PowerShell do Windows Azure possui uma série de cmdlets para trabalhar com a estrutura de blob do storage, como por exemplo, comandos para gerenciar containers e comandos para gerenciar conteúdo do blob.

O primeiro passo para enviar arquivos para o storage é criar um container. Passo isso utilize o cmdlet New-AzureStorageContainer, conforme abaixo:

# Criando o container

New-AzureStorageContainer
-Name
nome_do_container

 

Note que o nome precisar ser em letras minúsculas. Para ver todos os containers da sua conta padrão de storage, é só rodar o comando abaixo:

 

# Buscando detalhes do container

Get-AzureStorageContainer

 

Note que o nome precisar ser em letras minúsculas. Para ver todos os containers da sua conta padrão de storage, é só rodar o comando abaixo:

 

# Buscando detalhes do container

Get-AzureStorageContainer

 

Agora, para fazer upload de um arquivo para o blob, utilize o cmdlet Set-AzureStorageBlobContent, informando o nome do blob, o arquivo de origiem, o tipo do blob, que para arquivos simples é Block e finalmente o container, conforme abaixo:

 

# Fazendo upload de um arquivo

Set-AzureStorageBlobContent
-Blob
teste.txt
-File
C:\temp\teste.txt
-BlobType
Block
–Container
nome_do_container

 

Depois de fazer o upload, é possível ver detalhes de todos os arquivos armazenados no container. Para isso, execute a linha abaixo:

 

# Vendo o detalhes do arquivo

Get-AzureStorageBlob
-Container
nome_do_container

 

Além do upload, também é possível fazer download de um arquivo no blob, para isso basta utilizar o cmdlet Get-AzureStorageBlobContent, conforme abaixo:

 

# Fazendo download do arquivo

Get-AzureStorageBlobContent
-Container
nome_do_container -Blob teste.txt
-Destination
C:\temp\teste2.txt

 

Uma outra possibilidade interessante é combinar comandos tradicionais do PowerShell com comandos do Windows Azure. Por exemplo, é possível fazer upload de vários arquivos combinando o cmdlet Get-ChildItem através de piping com o cmdlet Set-AzureStorageBlobContent:

 

# Fazendo upload de todos os arquivos texto de um diretório

Get-ChildItem
C:\Temp\*.txt
|
foreach {


Set-AzureStorageBlobContent
-Blob
$_.Name
-File
$_.FullName -BlobType
Block
-Container
files

}

 

De maneira similar é possível fazer download de todos os blobs de um container:

 

# Fazendo download de todos os blobs de um container

Get-AzureStorageBlob
-Container
files
|
foreach {


$filePath
=
“c:\temp\download\”
+
$_.Name


Get-AzureStorageBlobContent
-Container
files
-Blob
$_.Name -Destination $filePath

}

 

No próximo post pretendo falar como criar máquinas virtuais no Windows Azure através do PowerShell.

 

RG

Responsive Design: Fix for Windows Phone 8 Device Adaptation

As I mentioned on Saturday, I just updated my blog theme to something a bit more clean and modern. In addition to just wanting something that looked good, one of the features that factored into my choosing the Wise Words theme for Orchard was its support …read more…(read more)