Packer.io ??? OpenNebula ???????????????? Azure ?????????

このポストは、7 月 21 日に投稿した Increasing Azure’s Openness with New Packer.io and OpenNebula Partnerships の翻訳です。

マイクロソフトは数か月前、開発者および IT プロフェッショナルが Microsoft Azure でよりオープンなコミュニティ主導型の選択肢を提供できるようにするために、さまざまなオープン プロジェクトとコラボレーションすることを発表しました

その一環として、現在開催中の O’Reilly Open Source Convention (OSCON) では、MS Open Technologies 社が Packer.io および OpenNebula と新たにパートナーシップを締結したことを発表しました。これにより、Azure のお客様は複数のテクノロジ プロバイダーを通じてアプリケーションやサービスを管理できるようになります。

また、Docker の libswarm と Kubernetes をサポートすることも先日発表されました。この 2 つは、Docker コンテナーで使用可能なクラスター管理ソリューションです。

これらのプロジェクトは、お客様の要望である選択肢を広げるための取り組みの一環として構築されたもので、Windows の SQL や .NET から、Python、Ruby、Node.js、Java、Hadoop、Linux、Oracle に至るあらゆるパブリック クラウドのオペレーティング システム、言語、サービスの組み合わせを幅広く提供することにより、アプリケーションの迅速な構築、デプロイ、管理をサポートするものです。

今回の発表の詳細については、MS Open Technologies のブログ記事 (http://aka.ms/OSCONCloudPartners、英語) をご参照ください。OSCON に参加予定のお客様は、ぜひ EXPO フロアにお越しください。各パートナーやマイクロソフトが統合に関するセッションを多数ご用意していますので、こちらへのご参加もお待ちしております。

Azure Site Recovery ? InMage Scout ??????: ??/???????????????

このポストは、7 月 16 日に投稿した Azure Site Recovery Now Offers Disaster Recovery for Any Physical or Virtualized IT Environment with InMage Scout の翻訳です。

先日マイクロソフトの公式ブログにおいて、クラウドおよびエンタープライズ マーケティング担当コーポレート バイス プレジデントの沼本健により、マイクロソフトが InMage Systems 社を買収したことが発表されました。同社はクラウド ベースのビジネス継続性分野をリードしている企業であり、この買収によって、Windows 環境と Linux 環境、物理環境と仮想環境 (Hyper-V、VMware) といったあらゆる IT 環境にハイブリッド クラウドのビジネス継続性ソリューションを提供するというマイクロソフトの戦略がさらに促進されます。

Azure Site Recovery では既に、オンプレミスの Hyper-V クラウド間と、オンプレミスの Hyper-V クラウドから Microsoft Azure への障害復旧はサポートしており、企業のプライベート クラウドやホストされたクラウド、Microsoft Azure におけるすべてのワークロードのユーザー エクスペリエンスの一貫性が保持されています。Azure Site Recovery では、マイクロソフトのクラウドにおけるワークロードと、その他のクラウドでホストされているマイクロソフトのワークロードの両方に対して業界最高クラスのビジネス継続性ソリューションを提供していますが、今回の InMage Systems 社の買収によってこの取り組みがさらに進化します。

マイクロソフトは、同社が提供している Windows および Linux 向けの InMage Scout を Azure Site Recovery のサブスクリプション ライセンスの一部として提供することを発表しました。Azure Site Recovery のサブスクリプション ライセンスをご購入いただくと、InMage Scout ソフトウェアおよび Azure Site Recovery クラウド サービスによりインスタンスが 1 年間保護されるようになります。Azure Site Recovery のライセンスは、保護対象の仮想インスタンスまたは物理インスタンスごとに付与されます。

Azure Site Recovery のサブスクリプション ライセンスは Microsoft Enterprise Agreement を通じて 2014 年 8 月 1 日から提供が開始されます。現時点では、InMage Scout を使用する場合はこのライセンスをご購入いただく必要があります。また、これまでと同様に既存の従量課金サービスでも Azure Site Recovery クラウド サービスによるインスタンスの保護をご利用いただけます。2014 年 7 月 16 日から 2014 年 8 月 1 日までの間、InMage Scout ソフトウェアは Azure ポータルから試用版として無償でご利用いただけます。

ビジネス継続性に関する計画を策定中の企業ユーザーの皆様、あるいは顧客にサービスとしての障害復旧 (Disaster Recovery as a Service) を提供することをお考えのホスティング サービス プロバイダーの皆様は、マイクロソフトが提供する異種混在環境向けの一体型ビジネス継続性ソリューションである、InMage Scout 付きの Azure Site Recovery ポートフォリオをぜひご検討ください。

Azure Site Recovery を使用して物理/仮想ワークロードの保護を開始するには、Azure Site Recovery ポータルから InMage Scout をダウンロードしてインストールするだけです。その手順を次に説明します。

Microsoft Azure Site Recovery ポータルのクイック スタート ページの [SETUP RECOVERY] の選択項目に、新しく [Between two on-premises VMware sites] というオプションが追加されました。これまでは [Between two on-premises Hyper-V sites] と [Between an on-premises Hyper-V site and Microsoft Azure] の 2 つのオプションしかありませんでした。

2 つのオンプレミスの VMware サイト間で復旧をセットアップするこの新しいオプションを選択すると、InMage Scout をダウンロードできるようになります。

InMage Scout パッケージをダウンロードすると、クイック インストール ガイドやその他の詳細なドキュメントも一緒にダウンロードされるので、使用を開始する際に参照してください。

ハイブリッド クラウドの障害復旧ソリューションのポートフォリオに InMage Scout が加わることで、物理環境と仮想環境のあらゆるワークロードをサポートするというマイクロソフトの取り組みがさらに加速することをたいへん嬉しく思っています。

Azure Site Recovery がもたらすメリットについてはこちらの紹介ページをご覧いただき、ぜひ導入をご検討ください。また、Azure Site Recovery に関するさらなる詳細情報を入手したり、他のユーザーと意見交換をするには、MSDN のフォーラムをご利用ください。

Videos do #MSTechday já estão disponíveis no Channel 9

  As palestras realizadas por MVPs, Evangelistas Técnicos e influenciadores já estão disponíveis para visualização e download no Channel 9, e em breve, estarão organizados em treinamentos para o Microsoft Virtual Academy . Aproveite a oportunidade de assistir novamente as palestras sobre Cloud computing, Games e mobilidade, que foram apresentadas no #MSTechday e enriqueça o seu conhecimento. Veja abaixo a relação dos vídeos, separadas por temas.   KEYNOTE DANILO – Journey to the cloud CLOUD…(read more)

Small Basic Guru – June Winners: LitDev, Jibba Jabba, & Nonki Takahashi!!!

Congrats to LitDev, Jibba Jabba, and Nonki! Great articles this month!


Guru Award  Small Basic Technical Guru - June 2014  

Gold Award Winner

 

litdev Small Basic: Sprite Arrays Ed Price: “An important topic that’s well described with fantastic examples! Great article!”
Michiel Van Hoorn: “Great starter for Sprite Fundamentals and how to handle them. Briljant start point for greating you 2D shooter”

Silver Award Winner

 

Jibba Jabba Small Basic – Monthly Challenge Statistics Ed Price: “Jibba Jabba brings us astonishing insights and data about LitDev’s Small Basic Monthly Challenges!”
RZ: “This is very nicely done and showed all the statistics visually”

Bronze Award Winner

 

Nonki Takahashi Small Basic: Challenge of the Month RZ: “This is very nicely done and organized all challenges of the month in one place”
Ed Price: “Although this is very basic, it’s incredibly helpful to get all these in one list and to access all the great challenges!”
Michiel Van Hoorn: “Good explainer on fundamental structures.”

Also worth a mention were the other entries for June:

  • Small Basic: List Extension by litdev
    Michiel Van Hoorn: “Nice to have move indepth into the List Extension. ”
    Ed Price: “Great in-depth explanation and practical use of the List Extension!”
  • Small Basic: Subroutine by Nonki Takahashi
    RZ: “Subroutine is not an easy topic to explain. Very glad to see Nonki explained it so well.”
    Michiel Van Hoorn: “Good explainer on fundamental structures.”
    Ed Price: “Perfect concept for the Wiki… to explain one topic in depth! Could benefit from more high-level info about subroutines.”
  • Small Basic: Condition by Nonki Takahashi
    Michiel Van Hoorn: “Good explainer on fundamental structures.”
    Ed Price: “Another great topic! This one covers Conditions and is great to read!”
  • Small Basic: Label by Nonki Takahashi
    Michiel Van Hoorn: “Good explainer on fundamental structures.”
    Ed Price: “Another valuable addition to help explain the components of Small Basic!”

 

See all the Guru winners here: The Microsoft TechNet Guru Awards! (June 2014)

More about the TechNet Guru Awards:

 

It’s fantastic to spend time with all of you in the community!

  • Ninja Ed

 

Australia Partner Conference 2014 – Create Incredible – closing speaker announced

We’re delighted to announce that Jason Clarke, founding father of Minds at Work will be delivering the closing presentation at this year’s Australia Partner Conference on the Gold Coast (2nd to 4th September).  Jason Clarke is one of the most sought after creative minds in Australia, consulting on issues of leadership and innovation to some of Australia’s biggest companies and institutions.

Hundreds of Partners have already registered for this year’s event, if you’ve not already done so, secure your spot today.

Operations Manager 2012 R2 UR2 Powershell Grid Widget Effective Monitoring Configuration Dashboard

 

Have you ever wanted to simply click a server object and see all of the effective rule and monitor configuration settings in one view?  Now you can.

 

 

NOTES:

  • This dashboard isn’t perfect. I’ve seen some weird behavior on occasion. Sometimes the top right widget will update with content from other widgets that exist in other views in other folders. Perhaps the Powershell runspace is sharing scope with other dashboards?.  Let me know if you find ways to improve it.
  • If you select ONLY one computer object (top left), expect to see the entire list of configurations for ALL contained subitems appear in the bottom widget.
    This may take a minute to enumerate so be patient. If you select more than one computer you will only see output for the first computer, not multiple computers. This is by design.
  • Select a subitem (top right) and ONLY the configuration for THAT item will appear in the bottom widget.
  • If you are not seeing results in the bottom pane, you may have to increase your “PollingInterval” (refresh rate) for your console to give it time to populate the results before re-running the scripts. See here: http://www.bictt.com/blogs/bictt.php/2011/06/01/scom-trick-20-increase-console

 

Enjoy!  Download MP Here: My.Dashboards.xml

 

Manual Creation Process

1) Create a new Management Pack from the Administration tab. Title it appropriately, something like:  “My Dashboards”

2) Once you create the MP, a new folder will appear under your Monitoring tab. Add a new Grid Layout view to the folder.

New -> Dashboard View -> Microsoft -> Grid Layout

 

 

Name it “Effective Configuration”

Next.

 

3 Cells (two on top, one below)

 

Add the code to each widget:

Finish.

 

 

 
Widget Title Code
Top Left Group Members: “Windows Computers”  

 ##################################################################################################
# ListWindowsComputers
# Author: Tyson Paul ( http://blogs.msdn.com/b/tysonpaul/ )
# Date: 7/22/2014
#

$class = Get-SCOMClass -Name Microsoft.Windows.Computer
$computers = Get-SCOMClassInstance -Class $class
$i=1
foreach ($computer in $computers)
{
 $dataObject = $ScriptContext.CreateFromObject($computer, "Id=Id,HealthState=HealthState,DisplayName=DisplayName", $null)
$dataObject["Index"]=$($i).ToString("00000")
 $ScriptContext.ReturnCollection.Add($dataObject)
$i++
}
 Top Right  Contained Items of Selected Object  

# ContainedItemsOfSelectedItem

Param($globalSelectedItems)
foreach ($globalSelectedItem in $globalSelectedItems)
{
If ( ($globalSelectedItem["Id"].Length -ge 4 ) ) # Prevent scripts from fighting each other
{
$globalSelectedItemInstance = Get-SCOMClassInstance -Id $globalSelectedItem["Id"]
foreach ($relatedItem in $globalSelectedItemInstance.GetRelatedMonitoringObjects() )
{
$dataObject = $ScriptContext.CreateFromObject($relatedItem, "Id=Id,State=HealthState,DisplayName=DisplayName", $null)
$dataObject["ParentRelatedObject"] = $globalSelectedItemInstance.DisplayName
$ScriptContext.ReturnCollection.Add($dataObject)
}
}
}
 Bottom  Effective Configuration of Selected Object  (Please wait patiently. This may take a minute…)  

 ##################################################################################################
# EffectiveMonitoringConfiguration
# Author: Tyson Paul ( http://blogs.msdn.com/b/tysonpaul/ )
# Date: 7/22/2014
#
# Will recursively find contained instances on a Windows Computer and ouput the effective monitoring configurations/settings to individual output files
# Will merge all resulting files into one .csv file, delimited by pipes '|'
###################################################################################################
Param($globalSelectedItems)

New-Variable -Name StartupVariables -Force -Value (Get-Variable -Scope Global | Select -ExpandProperty Name)

########################################################################################################
Function LogIt ([int]$EventID, [int]$Type=2, [string]$Message="No message specified." , [int]$proceed) {

$TimeStamp = (get-date -format "yyyyMMddHHmmssfff")
$output = @"
Message: $Message

"@

If ($proceed -gt 1) {
$output += @"

ThisScript: EffectiveMonitoringConfiguration.ps1
TimeStamp: $TimeStamp

Any Errors: $error

"@

}

If ($proceed) {
$oEvent = New-Object -comObject "MOM.ScriptAPI"
$oEvent.LogScriptEvent("$ThisScript",$EventID,$Type,$output)
}

} #endregion Function
#####################################################################################################
# Function MergeFiles
# Will find .csv files and merge them together.
Function MergeFiles{
Param(
[string]$strTargetFolderPath
)

$strOutputFile = Join-Path $Env:TEMP "MergedFile.csv"
If (Test-Path $strOutputFile) { Remove-Item -Path $strOutputFile }
If (Test-Path $strOutputFile) {
$Message = "Cannot remove $strOutputFile and therefore cannot generate merged output file. Remove this file first: $strOutputFile , Exiting. "
LogIt -EventID 9999 -Message $Message -Type $Critical -Proceed $WriteToEventLog
Exit
}
If (!($strTargetFolderPath)){
$Message = "No input file folder path specified ! Exiting. "
LogIt -EventID 9999 -Message $Message -Type $Critical -Proceed $WriteToEventLog
Exit
}

Get-ChildItem -Filter "*.csv" -Path $strTargetFolderPath | ForEach {
$intThisHeaderLength = (Get-Content $_.FullName)[0].Length
If ($intThisHeaderLength -gt $intLongestHeaderLength) {
$objLongestHeaderFile = $_
$intLongestHeaderLength = $intThisHeaderLength
}
}
Get-Content $objLongestHeaderFile.FullName | Set-Content -Path $strOutputFile -Force
Get-ChildItem -Path $strTargetFolderPath -Filter *.csv | ForEach {
If( ( $_.FullName -eq $objLongestHeaderFile.FullName ) -or ($_.FullName -eq $strOutputFile) ){
#Skip File
}
Else {
(Get-Content $_.FullName | Select -Skip 1).Replace("`0",'') | Out-File -FilePath $strOutputFile -Append -Encoding UTF8
$i++
}
}

Return $strOutputFile

} # EndFunction
###################################################################################################
Function Cleanup () {
$ErrorActionPreference = "SilentlyContinue" #Depending on when this is called, some variables may not be initialized and clearing could throw benign error. Supress.
#Cleanup
Get-Variable | Where-Object { $StartupVariables -notcontains $_.Name } | % { Remove-Variable -Name "$($_.Name)" -Force -Scope 1 }
}
########################################################################################################

# --------------------------------------------------------------------------------------------------------------------------------------------------------
$WriteToEventLog=0 #Set to 1 or 2 to start logging
[int]$info=0
[int]$critical=1
[int]$warning=2

$TempOutputFolder= Join-Path $Env:Temp "EffectiveConfig_$(Get-Random)"
Get-ChildItem $Env:Temp -Filter "EffectiveConfig_*" | Remove-Item -Recurse

$i=1
If (!(Test-Path $TempOutputFolder)) { new-item -ItemType Directory -Path $TempOutputFolder}
If (!(Test-Path $TempOutputFolder)) {
LogIt -EventID 9999 -Message $Message -Type $Critical -Proceed $WriteToEventLog
Exit
}

#ForEach ($globalSelectedItem in $globalSelectedItems)
#{
$globalSelectedItem = $globalSelectedItems | Select -First 1
$globalSelectedItemInstance = Get-SCOMClassInstance -Id $globalSelectedItem["Id"]
If ($globalSelectedItemInstance.Fullname -like "Microsoft.Windows.Computer:*") {
$RelatedObjects = $globalSelectedItemInstance.GetRelatedMonitoringObjects()
}
Else {
$RelatedObjects = $globalSelectedItemInstance
}
$RelatedObjects | ForEach `
{
$DN = (($($_.DisplayName).Replace(':','_')).Replace('/','_')).Replace('','_')
$path= (Join-Path $TempOutputFolder "($($_.Path))_$($DN).csv" )
Export-SCOMEffectiveMonitoringConfiguration -Instance $_ -Path $path
$i++
}
#}

$strMergedFilePath = MergeFiles -strTargetFolderPath $TempOutputFolder
$Headers = @()
$Headers= (Get-Content $strMergedFilePath | Select -First 1).Split('|')
$FileContents = (Get-Content $strMergedFilePath | Select -Skip 1 ).Replace("`0",'')
$r=1
ForEach ($Row in $FileContents) {
If ($Row.Length -le 1) { Continue; }
$c=0
$arrRow = @()
$arrRow = $Row.Split('|')
$dataObject = $ScriptContext.CreateInstance("xsd://foo!bar/baz")
$dataObject["Id"] = $r.ToString("0000")
$dataObject["Row"] = $r.ToString("0000")
ForEach ($Column in $Headers) {
If ( ($arrRow[$c] -eq '') -or ($arrRow[$c] -eq ' ') ) { $arrRow[$c] = 'N/A' }
$dataObject["$Column"] = "$($arrRow[$c])"
$c++
}
$r++
$ScriptContext.ReturnCollection.Add($dataObject)
}

LogIt -EventID 9998 -Message "Errors: $Error" -Type $Warning -Proceed $WriteToEventLog
Remove-Item $TempOutputFolder -Force -Recurse #Cleanup temp folder/files
Cleanup

 

 

 

 

 

 

 

 

 

 

 

 

Creating an administrative install of SSDT update for Visual Studio 2013

Since we are offering our VS2013 update via the Visual Studio update channel, there aren’t any specific instructions on how to get the download if you need to create an administrative layout.  You may need to do this if your firewall or proxy settings do not allow some computers to access the download center.

You can either choose the update from within visual studio on a machine that has internet access and instead of running the SSDTSetup.exe, download it locally; or you can use this fwlink to get to the download:  http://go.microsoft.com/fwlink/?LinkID=393521

*Disclaimer – this FWLink may change in the future, so while it works for the July update, that doesn’t mean it will work for upcoming updates

 

Once you have the SSDTSetup.exe file downloaded locally, you can run the administrative layout command on a computer with internet access to create a copy that you can burn or place on a share

  • Run the following command using an administrator command prompt (cmd.exe run as administrator):

    SSDTSetup.exe /layout <destination>

    Where <destination> is the location you wish to create the administrative install point (e.g on a USB drive, a LAN drive or other accessible location). 
     

  • To use the install point once created on a computer without internet access, simply run SSDTSetup.exe from the <destination> location with no arguments. This will use the install point rather than attempting to download new copies of the relevant chained components.

How to upload your Windows Phone Application to the store ?

How to upload your windows Phone Application to the store ?

Step # 1 :

Go to : http://dev.windows.com/en-us
Click on Sign-In

Step # 2 :

Go to Dashboard
Choose Windows Phone Store

Step # 3 :

Click on Submit App

Step # 4:

It’s time to fill out our application information which include :

1. App Name
2. App Category
3. Pricing
4. Distribution

Step # 5 :

Get your XAP !

Open your application in Visual Studio
Choose Release option
Run the Application

GO to the directory for your Application.
Click on BIN Folder.
Then : Release Folder
You will find your XAP file !

Step # 6 :

Click on Add new
Upload your .xap file

After Uploading your XAP , The Data read from the XAP File :

1. Package Version
2. Package Details ( Name , Size , O.S, Language , Capabilities)

Now , Fill the package store listing info :

 Language
 Description for the Store

Now : Let’s specify special keywords that help us to reach more users!


Finally : Let’s Upload Required Images and Screenshot for our application!

1. App Title Icon (300 x 300 PX)
2. Background Image(1000×800 PX)
3. Square Icon (358 x 358 PX)
4. Wide Icon ( 358 x173 PX)
5. Screenshot for the Resolutions your app Support !


Your are Mostly Done ! Congrats !
Final Review and Then Submit  it !