Quantcast
Channel: Randy Riness @ SPSCC aggregator
Viewing all 3015 articles
Browse latest View live

MSDN Blogs: Linux Recovery: Using CHROOT steps to recover VMs that are not accessible

$
0
0

You are facing an issue where you might need to basically delete a virtual machine (VM) , keep its OSDisk and attach it to another Linux VM where you can then repair whatever is wrong on that old VM, however in some instances you would also be able to have network access and some way of updating let’s say packages, adding a user account or doing any task that you can do on a normal running VM.

There is a process called chroot (for a reference you can check https://en.wikipedia.org/wiki/Chroot ) where you can basically get all of that working and the steps are mostly the same across Linux distributions.

Here in this post we will describe the steps which are very useful on Azure since it allows you , to name a few:

  • Add/Remove users
  • Change user accounts
  • Reinstall system packages such as Kernel images, SSH and other components that might be causing the VM to not boot up successfully
  • Edit files and test to see if related services are working properly after the changes

All these tasks sometimes are required to restore a VM that was not booting up properly and you need to repair its original VHD and re-deploy.

The steps below assume that you have deleted the old VM and kept its OSDisk and you also have deployed a new recovery VM using the same Linux distribution and version as the inaccessible VM.

NOTES:
a) We highly recommend making a backup of the VHD from the inaccessible VM before going through the steps for the recovery process, you can make a backup of the VHD by using Microsoft Storage Explorer, available at http://storageexplorer.com
b) For classic VM’s you will be prompted to keep the OSDisk when deleting the VM and for Resource Manager VM’s the OSDisk is kept by default.

Steps for the CHROOT process

Make sure you attach the old OSDisk (VHD) from the previous to the new VM as you would normally to for a datadisk using the portal then on the recovery VM we will mount and execute the commands described below.

To make sure we don’t need to use sudo for all commands and to make it simpler, let’s switch to root access:
sudo -i

To list disks and partitions available:

fdisk -l

In most scenarios you will see the old VHD attached as /dev/sdc and the steps below assume you have a standard deployment which only one main partition as the OSDisk, so it will be /dev/sdc1

Create a rescue folder and mount the old VHD in it (In this case we are assuming the disk/partition to be /dev/sdc1 as explained above)

mkdir /rescue

mount /dev/sdc1 /rescue

cd /rescue

mount -t proc proc proc

mount -t sysfs sys sys/

mount -o bind /dev dev/

mount -o bind /dev/pts dev/pts/

For Debian and Ubuntu distributions you will also mount (run):

mount -o bind /run run/

After executing the chroot command below we will basically be running out of the previous OSDisk, we can then run commands, update software and everything that we need to do in order to fix the previous errors with the VM.

Change to root environment

chroot /rescue

At this point you can repair anything that you need in the disk as you would normally do in a working VM and the changes will affect the disk, so you can run package management commands to remove install software, edit files and so on.

After you are done repairing the issues then you can proceed to umount the disk so you can rebuild the VM from it.

The steps to exit the chroot environment and umount everything are:

exit

cd /

umount /rescue/proc/

umount /rescue/sys/

umount /rescue/dev/pts

umount /rescue/dev/

For Debian and Ubuntu distributions you will need to umount (run):

# umount /rescue/run/

# umount /rescue

To rebuild the VM we recommend you the articles we have using either PowerShell or Azure CLI if this is a Resource Manager VM:
Azure PowerShell: How to delete and re-deploy a VM from VHD
Azure CLI: How to delete and re-deploy a VM from VHD


MSDN Blogs: Microsoft Dynamics CRM Online 2016 更新プログラム 1 新機能: フィールド サービス: 作業指示書の作成、割り当て

$
0
0

みなさん、こんにちは。

Microsoft Dynamics CRM Online 2016 更新プログラム 1 新機能からフィールド サービスについて紹介します。
本記事はシリーズもののため、前回の記事をご覧になっていない方は合わせてご参照ください。

Microsoft Dynamics CRM Online 2016 更新プログラム 1 新機能: フィールド サービス: 概要
Microsoft Dynamics CRM Online 2016 更新プログラム 1 新機能: フィールド サービス: 事前準備

 

作業指示書の作成、割り当て

お客様から電話で問い合わせいただいた件について、現地へ作業担当者を派遣するシナリオを紹介します。
作業担当者をアサインするには、作業指示書というものを作成する必要があります。
作業指示書は、誰がいつどこに、どの問い合わせの件のものかを示したものです。

– 取引先企業の作成
– サポート案件の作成
– サポート案件を作業指示書に変換
– 作業指示書の割り当て

取引先企業の作成

1. Dynamics CRM にログインします。

2. [フィールド サービス] > [取引先企業] をクリックします。

image

3. 新規フォームを開き、取引先企業名、住所を入力します。

image

4. フィールド サービスセクションの項目を指定します。売上税コードは事前準備で作成したものを指定します。

image

 

サポート案件の作成

1. [サービス] > [サポート案件] をクリックします。

image

2. 新規フォームを開き、タイトル、顧客を指定します。顧客には作成した取引先企業を指定します。

image

3. フィールド サービスセクションのインシデントの種類を指定します。

image

 

サポート案件を作業指示書に変換

1. 作成したサポート案件を開き、[作業指示書に変換] を実行します。

image

2. OK ボタンをクリックし、作業指示書を開きます。

image

なお、1 つのサポート案件に対して作業指示書は複数作成することができます。
その場合、以下のメッセージが表示されます。

image

3. 作成された作業指示書が開きます。

image

4. 作業指示書に、元のサポート案件の情報に設定した情報が引きづがれます。

特に取引先企業の住所は、地図で場所が表示されていることが分かります。

image

作業指示書の割り当て

作業指示書の割り当てる方法は、スケジュールアシスタンス、スケジュールボードの 2 種類あります。
今回は、スケジュールボードで割り当てる方法を紹介します。

1. [フィールド サービス] > [スケジュール ボード] を選択します。

image

2. スケジュール ボードが表示されます。

image

3. 下部の [スケジュールなしの指示書] から中央部エリアのリソースに作業指示書をドラッグ アンド ドロップすることで
リソースに作業指示書を割り当てることができます。
割り当てると、[予約可能なリソースの予約] エンティティのレコードが自動で作成されカレンダー上に配置されます。

image

image

4. カレンダー上で割り当てた予約を選択すると、右部の [詳細] にて予約情報を確認することができます。

image

5. 予約をダブルクリックすると、別ウィンドにて予約フォームが表示されます。

image

まとめ

次回は、作業担当者がモバイル アプリケーションを利用して作業指示書確認する手順を紹介します。
また、スケジュール ボードの機能の詳細も合わせて紹介していきます。

– プレミアフィールドエンジニアリング 河野 高也

※本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります

MSDN Blogs: Pozvánka na HackerFest 2016!

$
0
0

Všechny IT bezpečnostní odborníky, systémové a síťové administrátory, ale i nadšence do oblasti IT Security a Etického Hackingu zveme na HackerFest 2016! Již 4. ročník největší IT Security/Hacking události v ČR se uskuteční 24. – 25. 10. 2016 v Praze.

Těšit se můžete na zajímavé přednášky:

  • Co oči nevidí, to srdce nebolí | William Ischanoe
  • Historie tří chyb | Ondřej Ševeček
  • Pánem World Wide Webu | Roman Kümmel
  • Analýza AMD x86 SMU firmwaru | Rudolf Marek
  • Anakine, použij certifikáty! | Ondřej Ševeček
  • How Hackers can Scratch off Secrets and Juicy Password Credentials from the Disk | Paula Januszkiewicz
  • Hackers love PowerShell | Michael Grafnetter
  • a další…

Na 25.10.2016 je připraven workshop Milana Oulehly o problematice hackingu a penetračního testování na Android platformě. Cílem je představit typické chyby aplikačních programátorů a následně ukázat, jak jsou tyto chyby zneužívány útočníky (String Digging, Content Provider Leakage, Insecure File Storage…). Speciálně pro tento workshop byly napsány cvičné aplikace, na kterých si účastníci workshopu, tyto techniky vyzkouší.

Veškeré informace o konferenci HackerFest 2016 získáte ZDE.

hackerfest2016

MSDN Blogs: Small Basic August 2016 Challenges: Breakout Game, Find & Replace, Fixed Numbers, and more!

$
0
0

 

These challenges are intended for people who are learning to program for the first time or for those returning to programming who want to start using Small Basic.  Some will be easy, some will be hard – but they will all make you think, and more importantly be GREAT FUN!

Post your solutions here:

Please post your solutions / partial solutions / questions / feedback etc. into this thread that will remain ‘sticky’ for the month.  The only rule is that your solution must use standard Small Basic methods (no extensions).

It would be good if people could post their problems with these challenges so that a discussion can start so that everyone can learn from each other.

We may extend these challenges over into a second month if solutions and questions are still coming in.

Text Challenge

Write a program to perform a ‘find and replace’ feature for text in a file.

Maths Challenge

Write a program to calculate display numbers with either a fixed number of significant figures or fixed number of decimal places.

Game Challenge

Write a breakout type game

Check out the Community Suggestion Challenges also made sticky for a month

  • Optical Illusions (By Yvan) – LINK
  • Avatar Generator (By Nonki) – LINK
  • The Kodalith effect (By Yvan) – LINK

Do you have an idea for a future challenge? Please post it here!

 

Have a Small and Basic month!

  • LitDev &
  • Ninja Ed

Logo05_WhiteBorders

 

 

MSDN Blogs: Welcome to blogs on Visual Studio Marketplace

$
0
0

 

Marketplace is on a mission to energize the developer ecosystem and strengthen the community around Visual Studio family of products, subscriptions and services. We want to be the one place where developers can offer/monetize and find/acquire all the tools they need across any Visual Studio product, and since its launch as Preview back in November, it is well on its way towards that. Thanks to your support, Marketplace has already served nearly 5M downloads for over 1.7M unique visitors.

You have seen us adding broad set of features such as search, ratings & reviews, dynamic categories, fine-grained publisher roles for ease of administration and so on.  We’ve also enabled tighter integration with TFS for on-prem support and frictionless install experiences for VSCode users. Most recently we brought the notion of Trials for VSTS/TFS extensions as well.

We are now busy working on enabling commerce for our VSTS/TFS publishers, seamless experiences for TFS connected environments and enriching publishers’ experiences, just to mention a few. Another key area, we are investing on, is to bring all the Visual Studio IDE extensions from current VS gallery directly into Marketplace, so that the users will have a single go-to place for everything they need around the whole of Visual Studio family. You will see us make the site responsive as well.

It’s super exciting time for us in the team, and we are looking forward to bringing these valuable features to you over the next few months. This is our new home for all Marketplace related announcements and other relevant info to make you more productive, whether you are writing new extensions or looking for some. Watch this space!

As always, we welcome your suggestions and feedback — either on our UserVoice site, or by direct emails to VSMarketplace-at-microsoft.com or on Twitter with #VSMarketplace.

 

– Marketplace team

MSDN Blogs: Why are we open sourcing our extensions?

$
0
0

We plan to open source many of our solutions, listed on library of tooling and guidance solutions, to share them as sample code, foster community collaboration and innovation.

Our mission is to “provide professional guidance, practical experience and gap-filling solutions”. When we ship a solution, we need to switch context to other gaps, limiting our ability to effectively invest in long-term maintenance and innovation.  By embracing open source, we hope to enable the community to review the solutions, help fix bugs and contribute features they need.  

SNAGHTML15625d

Our open source solutions

2016.08.17 – Create initial list.

… more to come!

What are your thoughts on open source?

We look forward to hearing from you. Here are some ways to connect with us:

MSDN Blogs: Introducing Image Processing in U-SQL

$
0
0

Rukmani Gopalan– Senior Program Manager

Apostolos “Toli” Lerios – Principal Software Engineer


Introduction

It is my great pleasure to coauthor this blog with Apostolos “Toli” Lerios, an expert at image processing and a serial entrepreneur, he has founded multiple startups and also worked as an image architect at Facebook. If you have uploaded a photo on Facebook, you have executed Toli’s code. You can read more about Toli in his web page. Operating on images is a complex process, and doing this at scale is even more challenging – our goal was to simplify this problem. What started as an animated discussion over coffee about complex image processing at scale took us down a very interesting journey of using U-SQL to make it easier for big data developers to perform complex code (like image processing) at scale by leveraging the SQL-like declarative syntax and rich extensibility provided by C#.

In this blog post, we are going to utilize this rich programmability model of U-SQL to process complex multimedia data, such as images. The motivation behind this is twofold:

  • to leverage the Azure Data Lake Analytics (ADLA)’s scalability to accomplish image processing at scale,
  • to co-analyze image and non-image data (e.g. a person’s photo, the photo’s metadata, and auxiliary information such as a person’s name and age) all using ADLA and without resorting to specialized image processing systems distinct from analytics systems.

The post is designed to give you the basic building block for extracting an image and performing image operations, which you can build upon in your big data analytics solution.

U-SQL’s extensibility model

U-SQL supports extensibility in the following ways:

  1. Inline C# functions: Since U-SQL uses the C# type system, it supports using C# expressions inline in SELECT statements. When you use a C# function to calculate a value, you need to specifically assign the result to a column name via the AS clause.

@customer_name =

SELECT firstname.Substring(0, 1).ToUpper() AS first_initial, lastname

FROM @customers;

  1. User Defined Functions (UDFs): U-SQL allows you to call within a U-SQL expression C# code wrapped in a UDF and compiled as a .NET assembly. When transforming a rowset, you can pass one or more columns as parameters to a UDF and the return value gets assigned to a named column via the AS clause.

@customer_name =

SELECT GetFullName(firstname, lastname) AS customer_name

FROM @customers;

 

// C# code, separately compiled into an assembly.

public string GetFullName(string fname, string lname)

{

return fname + ” ” +lname;

}

  1. User Defined Operators (UDOs): U-SQL allows you to call C# code wrapped in a UDO to impose a schema on an unstructured input stream, write table data to an unstructured output stream, or to transform a rowset (filtering rows, adding new columns, etc.).

@customer_name =

EXTRACT GetFullName(firstname, lastname) AS customer_name

FROM @”/input/customers.tsv”

USING new MyCustomerExtractor();

  1. User Defined Aggregators (UDAGGs): U-SQL allows you to compose your own user-defined aggregation functions in C# to augment the built-in standard SQL aggregation functions such as SUM, AVG, etc.. UDAGGs take one or more parameters, return one result and appear within SELECT statements.

@order_tip_estimate =

SELECT WeighTips(customer_bills, customer_tips) AS weighted_tip

FROM @customers;

Image Processing Libraries in U-SQL

We have published C# libraries that supply UDOs and UDFs for processing images with U-SQL in our GitHub site. In this section, we introduce these UDOs and UDFs and, in the next section, we use them within a U-SQL walkthrough to operate on images.

The basic flow behind processing images in U-SQL has three stages:

  1. Use the custom UDO extractor ImageExtractor to read a (JPEG or non-JPEG) image file and return the image data as a byte[] column value which contains the same exact image as the file in an (always) JPEG representation. Please note that there is a current limitation in U-SQL that a row cannot exceed a size of 4 MB, so you will run into issues if your image size is greater than 4 MB.
  2. Use the image processing UDFs to manipulate this byte[] (the UDFs support JPEG and non-JPEG representations within this byte[] despite the previous step always producing a JPEG representation). For example, one UDF extracts metadata from an image to produce textual or numeric data. More interesting UDFs derive an output image from an input image; that output represents the visually transformed input (e.g. rotated or scaled/resized), also stored as a byte[] containing an (always) JPEG representation of the output.
  3. Use the custom UDO outputter ImageOutputter to writes each byte[] to a JPEG image file so that we can view the output images of the aforementioned UDFs.

The primary reason we favor using the JPEG representation of an image inside the byte[] is that U-SQL has a limit on the size of a row (4 MB), so to store an image of large dimensions in a single value, the image must be stored in a compressed, even lossy, form. It is certainly possible to use PNG (compressed, but lossless) or other representations and strike a different tradeoff between column value size, and image dimensions and fidelity. Obviously, use of any compressed format comes with decompression and/or compression overhead within the UDFs that perform certain image operations; moreover, repeated cycles of lossy decompression and compression (e.g. rotating an image by 180 degrees in two steps of 90 degrees each, with intervening compression and decompression) can amplify image noise and introduce visually objectionable artifacts. So use with caution!

usql image

Figure 1 Image Processing using U-SQL workflow

 

ImageExtractor

The ImageExtractor is a UDO that derives from the IExtractor interface. It takes an input stream and empty row as inputs, and its job is to fill the row with the stream’s data. The row has one column, which is the representation of an image as a byte[]. The ImageExtractor needs to process the input stream (which is ultimately an image file) as an atomic unit to get the byte[], so it has the AtomicFileProcessing flag set to true. The ImageExtractor is used in U-SQL as follows.

CREATE ASSEMBLY IF NOT EXISTS Images

FROM @”/assemblies/Images.dll”;

 

REFERENCE ASSEMBLY Images;

 

@image_data =

EXTRACT image_data byte[]

FROM @”<replace_this_with_your_input_name>.jpg”

USING new Images.ImageExtractor();

The astute reader of the source code of ImageExtractor will notice that this UDO does not blindly stuff the input stream into a byte[]. Instead, it leverages the power of C# to confirm that the input file is indeed an image file, and then converts it into JPEG format. Can you improve that code? (Hint: what if the input file is already compressed, in any format, to a file size that fits inside a column value?) If you have any suggestions for improvement based on your scenario, do reach out to us at usql@microsoft.com.

 ImageOps

This class contains various sample image processing functions that you can use as UDFs in U-SQL.

These functions are built on top of C#’s own Image class as well as on top of some common building blocks.

  • One such block comprises the functions byteArrayToImage() and imageToByteArray() which convert between the column value in byte[] form and the C# Image class, performing image format (JPEG or non-JPEG) decompression and JPEG compression at an adjustable JPEG quality.
  • A more subtle building block is the drawImage() method which draws an input Image onto a region of an output Bitmap in a manner that clears pixels outside the copy region and also ensures high quality resampling when the input and output region have different dimensions.
  • The most esoteric building block is the StreamImage class which pairs together a MemoryStream (tied to the input column value byte[]) and an Image generated from that stream so that the former will not get disposed before the latter; doing so would result in a corrupted Image because the image is lazily decoded from the stream.

The image processing functions comprise a function that fetches metadata as a string, getImageProperty(), and several image-producing functions. All these functions accept the input image as a byte[] and leverage the above utilities to convert it into a StreamImage prior to further processing. The image-producing functions leverage the above utilities to convert an internally generated output image from an Image into a byte[], and return it. Memory leaks are avoided through reliance of the using statement of C#, which is also applicable to StreamImage because the latter implements the IDisposable interface.

The only subtlety when fetching metadata is that C# represents them as a list of PropertyItem instances, which means the key (Id) is always an integer, and the value (Value) is always a byte[] regardless of the semantics of the key and its intended actual representation of a specific type (Type) in byte[] form. So getImageProperty() needs to convert the byte[] into a string in order to return it. The proper conversion should depend on the type and all types should be carefully handled. For simplicity, we used the System.Text.Encoding.UTF8 class to convert PropertyItem instances of string type (type 2, which is an ASCII string but that encoding constraint is not always obeyed by image file creators so we picked UTF8 instead), and the generic ToString() method of byte[] for all other types. Can you do better?

Two of the image producing functions let C# do all the hard work. rotateImage() rotates the input image by 90, 180, or 270 degrees using C#’s Image RotateFlip() method, and simply choosing to do no flipping; one minor subtlety is that this function does not create a separate output Image object, and instead rotates the Image object generated from the input byte[] in-place. scaleImageBy() scales the input image by a specified factor, using a separate output object (a Bitmap, which is a kind of Image).

The last image producing function, scaleImageTo(), scales an input image to specified dimensions but without altering its aspect ratio. That means that, if the specified dimensions and the input image have a different ratio, black bars must be added on the top and bottom or on either side of the input image to border the output image, the way wide movies are sometimes letterboxed on home TVs.

None of the supplied image processing functions need the skills of a rocket scientist to use effectively. Moreover, the Internet is a treasure trove of C# image processing utilities and advanced image processing libraries. The functions in ImageOps are simple, even simplistic, so that they don’t distract from the big picture of the overall data flow, which comprises going from

  • a byte[] storing an input image in a JPEG or non-JPEG representation, to
  • a C# Image wrapped inside a StreamImage, then
  • leveraging C#’s awesome image processing capabilities, and then
  • delivering the result of the last step, which
    • if a new Image, is converted back into a byte[] containing a JPEG representation of the output image.

What could be simpler?! (Well, avoiding byte[]’s and having U-SQL support an Image column type would indeed be simpler, but all in due time.)

ImageOutputter

The ImageOutputter is a UDO that derives from the IOutputter interface. It takes a row and output stream as inputs, and its job is to stuff the row into the output stream. The row has one column, which is the representation of the image as a byte[]. Currently, U-SQL allows us to output to only one stream (which is ultimately a single file) in a U-SQL statement, which means only a single row can be practically processed, and so a single image is written to a single image file. We are working on enabling dynamic partitioning of output, that will help us output multiple images and therefore process multiple rows. Similar to ImageExtractor, ImageOutputter also has the AtomicFileProcessing flag set to true. The ImageOutputter is used in U-SQL as follows.

OUTPUT @output_image

TO “<replace_this_with_your_output_name>.jpg”

USING new Images.ImageOutputter();

As with ImageExtractor, the astute reader of the source code of ImageOutputter will notice that this UDO does not blindly stuff the byte[] into the output stream. Instead, it leverages the power of C# to confirm that the input byte[] is indeed an image, and then converts it into JPEG format. Can you improve that code to prevent recompression when it is unnecessary?

Sample U-SQL code that works with images

In our walkthrough, you are going to operate on a single image using U-SQL to accomplish these tasks:

  1. Extract information (copyright information, make and model of the camera and image description) about the image from its embedded metadata.
  2. Manipulate the image to create a new image (generate a 150×150 thumbnail).

The complete source code in the walkthrough is also posted in our GitHub site.

Step 0 – Reference the image assemblies

First, you will need to reference the Images.dll assembly that contains the UDOs (Extractor and Outputter) and the UDFs to process images. We are working on a blog post that talks in detail about registering and referencing assemblies in U-SQL.

CREATE ASSEMBLY IF NOT EXISTS Images

FROM @”/assemblies/Images.dll”;

 

REFERENCE ASSEMBLY Images;

Note: The code above assumes that you have the Images.dll assembly in the /assemblies folder in your default Azure Data Lake Store (ADLS) account.

Step 1 – Extract image

Before you can operate on images, you first convert an image file into a single-row table with a single column of byte[] type using the ImageExtractor.

@image_data =

EXTRACT image_data byte[]

FROM @”/Samples/input/guard.jpg”

USING new Images.ImageExtractor();

 Step 2 – Do transformations as you wish

Now, you can use the Image UDFs in your SELECT statement to perform the image operations. The first SELECT uses getImageProperty() to extract metadata, and the second SELECT creates an image thumbnail via scaleImageTo().

DECLARE @image_copyright_id int = 0x8298;

DECLARE @image_make_id int = 0x010F;

DECLARE @image_model_id int = 0x0110;

DECLARE @image_description_id int = 0x010E;

 

@image_properties =

SELECT Images.ImageOps.getImageProperty(image_data, @image_copyright_id) AS image_copyright,

Images.ImageOps.getImageProperty(image_data, @image_make_id) AS image_equipment_make,

Images.ImageOps.getImageProperty(image_data, @image_model_id) AS image_equipment_model,

Images.ImageOps.getImageProperty(image_data, @image_description_id) AS image_description

FROM @image_data;

 

@scaled_image =

SELECT Images.ImageOps.scaleImageTo(image_data, 150, 150) AS thumbnail_image

FROM @image_data;

Step 3 – Output the transformed data

The @image_properties rowset contains four string columns – the copyright information, make and model of the camera and image description – so you can use a native text outputter to output these values. To output the thumbnail, however, you will need to use the ImageOutputter – the current limitation (that we are working on addressing) of this outputter is that you can write one image at a time using this outputter, which is why our sample walkthrough operated on a single image.

OUTPUT @image_properties

TO @”/Samples/output/metadata.csv”

USING Outputters.Csv();

 

OUTPUT @scaled_image

TO “/Samples/output/thumbnail.jpg”

USING new Images.ImageOutputter();

In conclusion

Thank you for reading this post. This is an illustration of leveraging the seamless integration of SQL and C# and our rich C# assemblies to accomplish image processing at scale with a few lines of U-SQL code. If you have any questions or feedback, please let us know by emailing usql@microsoft.com.

MSDN Blogs: Creating the AD application and service principal and then the Azure Automation Connection Asset

$
0
0

This post is provided in the case that when you created your Azure Automation Account, you did not have the option or you deselected the option to ‘Create Azure Run As account’. The Azure Automation Connection Asset that results will be suitable for management operations that impact certain Azure subscription assets such as VMs, networks, storage.

You need to start with creating and installing a certificate asset as outlined here.

Then, open an administrator PowerShell command line. Authenticate using:

Login-AzureRmAccount

Copy down the Tenant Id and Subscription Id from the output for later. Next, issue these commands:


$cert = ( Get-ChildItem -Path cert:CurrentUserMyYOURCERTIFICATETHUMBPRINT )
$keyValue = [System.Convert]::ToBase64String($cert.GetRawCertData())

Next, run the commands that create the Azure Active Directory application and service principal objects. The New-AzureRmADApplication cmdlet uses the $keyValue to authenticate accesses requested by future uses of the service principal in your runbooks.


$azureAdApplication = New-AzureRmADApplication -DisplayName "myAutomationCert" -HomePage "https://myAutomationCert" -IdentifierUris "https://myAutomationCert" -KeyValue $keyValue -KeyType AsymmetricX509Cert -EndDate $cert.NotAfter -StartDate $cert.NotBefore
New-AzureRmADServicePrincipal -ApplicationId $azureAdApplication.ApplicationId

This page gives some information on how to create the connection asset. Select ‘Azure Service Principal’ as the Type of connection. The fields needed will be:

    Application Id
    Tenant Id
    Certificate Thumbprint
    Subscription Id

This command will show you the Application Id:

$azureAdApplication

Additional details of this procedure may be viewed here.

Cheers!


MSDN Blogs: Performance issues with Visual Studio Team Services – 8/18 – Investigating

$
0
0

Initial Update: Thursday, 18 August 2016 03:51 UTC

We are actively investigating issues with Visual Studio Team Services in Australia region. Some customers may experience intermittent failures while accessing their accounts. 

  • Next Update: Before 06:00 UTC

We are working to resolve this issue and apologize for any inconvenience.

Sincerely,
Chethan

MSDN Blogs: OpsMgr: Overview of All Custom Dashboard and Widget Templates Featured to date

$
0
0


This post features a table that provides an overview of all custom sample dashboard and widget templates featured to date (and coming soon) on the Wei Out There with SC & OMS blog

 

Sample Dashboard & Widget Template Name

Description

Download

Further
Details

1

Alert Widget Template

A widget template that allows the user to create custom alert widgets via a UI and filter the alerts to be displayed on the widget using very simple logical expressions for a scoped object or group.

Link

Link

2

Contextual Performance Widget Template

A widget template that allows the user to create custom contextual performance widgets via a UI to contextually display a line chart for a particular performance counter of selected objects within a dashboard layout.

Link

Link

3

Static Monitor State Tile Widget Template

A widget template that allows the user to create custom labelled static monitor state tile widgets that displays the health state of a monitor of a specific managed object on a tile via a UI within a dashboard layout.

Link

Link

4

Static Performance Tile Widget Template

A widget template that allows the user to create custom static performance tile widgets via a UI within a dashboard layout

Link

Link

5

PowerShell Text Display Widget Template

A widget template that allows the user to create custom text widgets from the output of a PowerShell script via a UI within a dashboard layout.

Link

Link

6

Speedometer Gauge Widget Template

A widget template that allows the user to create custom Speedometer Gauge widgets from the output of PowerShell scripts via a UI within a dashboard layout.

Link

Link

7

Silverlight Friendly Speedometer Widget Template (for the Web Console)

A widget template that allows the user to create custom Silverlight Friendly Speedometer widgets for the Web Console, from the output of PowerShell scripts via a UI within a dashboard layout.

Link

Link

8

Tile Map Widget Template

A widget template that allows the user to create custom Tile Map widgets for monitored objects, from the output of PowerShell scripts via a UI within a dashboard layout.

Link

Link

9

Dashboard Hoster Widget Template

A widget template that allows the user to create dashboard hoster widgets via a UI, to host other preconfigured native dashboards within the same dashboard layout.

Link

Link

10

SQL Server 2008 Database Summary Dashboard Template

A dashboard template to allow the creation of an instance of a sample SQL Server 2008 Database Summary Dashboard for a selected group of SQL Server 2008 objects, by just using the IT Pro Authoring UI in the Operations Console.

Link

Link

11

Grid Layout Template Extension (with Identical-Sized Cells)Extends the current dashboard layout types in System Center Operations Manager 2012 by providing 8 new templates to create dashboards with grid layouts of identical-sized cells and with more than 9 cells per layout (e.g. 3x4s, 4x4s, 5x5s), via a UI in the OpsMgr 2012 Operations Console.

Link

Link

 

Blue Bar State Widget
Template

A widget template that allows the user to create custom Blue Bar State widgets for monitored objects, from the output of PowerShell scripts via a UI within a dashboard layout.

Coming Soon

Coming Soon

 

Energy Bar Widget
Template

A widget template that allows the user to create custom Energy Bar widgets for monitored objects, from the output of PowerShell scripts via a UI within a dashboard layout.

Coming Soon

Coming Soon

 

 

 

 

 




Summary View:
 

 



 
Disclaimer:
All information on this blog is provided on an as-is basis with no warranties and for informational purposes only. Use at your own risk. The opinions and views expressed in this blog are those of the author and do not necessarily state or reflect those of my employer.

 

MSDN Blogs: 주간닷넷 2016년 8월 9일

$
0
0

여러분들의 적극적인 참여를 기다리고 있습니다. 혼자 알고 있기에는 너무나 아까운 글, 소스 코드, 라이브러리를 발견하셨거나 혹은 직접 작성하셨다면 Gist주간닷넷페이지를 통해 알려주세요. .NET 관련 동호회 소식도 알려주시면 주간닷넷을 통해 많은 분과 공유하도록 하겠습니다.

금주의 커뮤니티 소식

Taeyo.NET에서 http://docs.asp.net의 ASP.NET Core 문서를 한글화하여 연재하고 있습니다.

On .NET 소식

지난 주 On .NET에서는 iPad용 개발 IDE 인 Continuous C# and F# IDE를 개발한 Frank Krueger를 모시고 얘기를 나누어 보았습니다.

이번 주 On .NET에서는 Francisco Monteverde와 함께 PlasticSCM에 대해 얘기를 나누어 보았습니다.

금주의 패키지 – OxyPlot

OxyPlot은 멀티 플랫폼을 지원하는 오픈 소스 plotting 라이브러리입니다.

아래 예제는 UWP(Universal Windows Platform) App에서 코사인(cos) 함수를 plotting 하는 예제 코드입니다.

windows-universal-app-example1

금주의 Tool – .NET API Catalog

.NET API Catalog는 .NET API를 쉽게 탐색하고 다양한 버전의 .NET(.NET Framework, .NET Standard, Mono, Silverlight)에서 API가 지원되는지 쉽게 확인할 수 있도록 도와줍니다. 또한 긴 이름을 가진 API라고 하더라도 해당 API에 접근할 수 있는 짧은 URL을 생성해주므로 접근성도 뛰어납니다.

.NET API Catalog는 Azure Blob Storage를 이용하여 서비스 하고 있으며, 내부 Git repo인 CoreFxTools에 commit이 일어날 때마다 자동으로 변경 사항을 catalog에 반영하고 있습니다. 이렇게 하면 실제 서비스에 지장을 주지 않고도 항상 최신 내용을 유지할 수 있다고 합니다.

금주의 게임 – Dreamfall Chapters

Dreamfall Chapters는 전세계적으로 히트한 어드벤쳐 게임인 The Longest JourneyDreamFall: Longest Journey시리즈의 후속작입니다. The Longest Jounrey 시리즈는 Stark라고 불리우는 사이버펑크틱 미래 지구와 Arcadia라고 불리우는 판타지 세계, 이 두 개의 평행 세계를 배경으로 하고 있습니다. 여러분은 게임에서 두 개의 나라를 지키기 위해 여행을 떠나게 됩니다. 탄탄한 스토리를 가진 여행 속으로 한 번 떠나보세요! 여행 중에 여러분이 하는 선택은 두 개의 세계에 영구적인 영향을 줄 수도 있기에 선택을 할 때에는 항상 신중하셔야 합니다. Dreamfall Chapters는 총 5개의 에피소드로 나누어져 있으며, 각 에피소드를 마칠 때마다 여러분의 게임 진행 상황을 다른 플레이어들의 진행 상황과 비교하여 랭킹을 매기게 됩니다.

Dreamfall 시리즈는 정말 잘 만든 게임이고, 꼭 한 번 플레이해볼 가치가 있습니다! 하나만 명심하세요: 선택은 신중히 하셔야 합니다.

deb503d4-5e0c-11e6-8594-ce72635c01cb

Dreamfall Chapters는 Red Thread GamesUnityC#을 이용하여 개발하였습니다. 또한 온라인 서버로는 Azure를 사용합니다. Dreamfall Chapters는 Good Old GamesSteam을 통해서 Windows, MacOS, Linux에서 플레이 가능하며 PS4에서도 즐기실 수 있습니다.

.NET 소식

ASP.NET 소식

Microsoft MVP인 박용준 강사님께서 ASP.NET Core 관련 동영상 강의를 공유해 주셨습니다.

F# 소식

Xamarin 소식

Games

주간닷넷.NET Blog에서 매주 발행하는 The week in .NET을 번역하여 진행하고 있으며, 한글 번역 작업을 오픈에스지의 송기수 전무님의 도움을 받아 진행하고 있습니다.

song송 기수, 기술 전무, 오픈에스지
현재 개발 컨설팅회사인 OpenSG의 기술이사이며 여러 산업현장에서 프로젝트를 진행중이다. 입사 전에는 교육 강사로서 삼성 멀티캠퍼스 교육센터 등에서 개발자 .NET 과정을 진행해 왔으며 2005년부터 TechED Korea, DevDays, MSDN Seminar등 개발자 컨퍼런스의 스피커로도 활동하고있다. 최근에는 하루 업무의 대다수 시간을 비주얼 스튜디오와 같이 보내며 일 년에 한 권 정도 책을 쓰고, 한달에 두 번 정도 강의를 하면 행복해질 수 있다고 믿는 ‘Happy Developer’ 이다.

 

MSDN Blogs: testblogpost znefisctjmkicrknnelqubeidpiobb

MSDN Blogs: How to get the maximum return on your forum question?

$
0
0

This post is a more generalized version of the Wiki article I initially posted for asking questions in the FIM/MIM Forum.

Introduction

Whether you’re a first time user or a long-time expert, when you post a question to a forum, you expect an answer that is quick, to-the-point, and preferably customized to your needs.

But in lots of cases it actually takes a while (meaning additional questions and answers back and forth) before the community actually can get to the root cause of the issue.

I would like to provide you with practical hints and tips, and background information of them, to get the maximum result from your postings on the forum, with the minimum of effort.

If you ask the right question, the right way, you’ll get your answer much faster.

Introduction

What do you expect if you post a question on a forum? A quick answer, solving the issue you’re struggling with, in a timely fashion? However, the reality looks often different:

  • Most of the questions posted in the forum require some knowledge of your environment. To understand your question, people need background information.
  • In many cases the initial question does not provide sufficient data to start helping.

What is the most efficient way to allow the community to help you?

The key to the quick solution is how you present the question.

In this article, I will give you suggestions and recommendations that will help you to get the most out of this forum.

Gathering the right data

As a first step, you should gather all data that is related and relevant to your question. What the right data is depends on the type of answer you expect. A general, more high-level question in conjunction with the architecture and the design requires a different approach than a practical question to troubleshoot an issue. When troubleshooting your setup:

  • Take time to gather detailed data before you post
  • Provide concise, basic information about your environment
  • Describe error conditions in detail

Even for more general architectural questions, take a moment and ask yourself:

  • What is the situation you are in now?
  • Where did you start from?
  • What are you trying to accomplish?
  • Do you have examples to help outline what you are aiming at?

Important data components

In most cases, there are some core components you should address in your initial question. These components include:

  • Build versions
  • Basic server configuration
  • Backend server configuration
  • Error codes and error conditions

Information on configuration circumstances

In the previous section I’ve discussed components strictly related to the configuration basics of the platform, which you can retrieve in real-time.

It’s clear that the complete infrastructure exists of different parts (independent of the platform you are managing), each depending on each other: the application, the operating system, backend like the SQL server, the .NET framework, and more … It’s a complex balance, even a small change in one of these components, might cause trouble.

Ideally you manage the complete infrastructure yourself. But in my experience, this is rarely the case, as most live setups are managed by a group of people. And, not every member of the team knows the in and outs of every part.

So, when your system starts behaving badly, just suddenly or intermittently, while it has been in operational mode for quite a while, it’s not always easy to determine the root cause.

When you’re troubleshooting your setup, also take a wider look on the technical infrastructure. I can guarantee it is worthwhile to log the changes you make on your system configuration from the very start. Additionally, make sure the events and errors are logged accurately.

Change logs and events logs allow you to answer the following list of questions:

  • Has there been a change to the system configuration recently, like an update/upgrade, hotfixes,…?
  • When exactly does the error condition occur?
  • Are you able to reproduce the error condition?
  • Is the error occurring intermittently?
  • Any particular configuration on your environment, like highly secured networking, server lockdown,…?

You should post this kind of information in your initial post, as it is very helpful.

Optional data parameters

Another important type of information you should provide in your post, is NOT of a technical kind.

It concerns the actions you have done when troubleshooting, before you posted your question.

What kind of steps have you already done to get an answer?

  • Which posts did you already look at?
  • Did you already install certain hotfixes?
  • Which run profiles did you run?
Please Note:
This kind of questions should allow the community to spend time on making progress instead of replying to questions already addressed previously.

System information you should not show at all

It might be obvious, but it wouldn’t be the first time someone posted personal, secret, identifiable data on the web. It would not take too much effort to use it maliciously.

Make sure you mask:

  • Passwords and secrets
  • Personal identifiable information
  • Live machine and domain info
  • Service Account names
  • IP addressing

Architecture and design questions

The forum is an excellent resource if you just need some assistance solving a problem on architectural level. The following list of hints and questions should allow you to provide the basics in your post:

  • Provide some basic data on your setup.
  • What did you implement already?
  • Describe what you actually aiming at. What are you trying to achieve?

Provide as much detail as possible to make your case with examples and/or (anonymized) screenshots.

Summary

When troubleshooting your setup:

  • Take time to gather sufficient and detailed info.
  • Provide basic information on your environment.
  • Be specific, describe the error conditions in detail.

When you need help or an insight on a design issue:

  • Provide some basic data on your setup.
  • Describe what you actually aiming at. What are you trying to achieve?

In both cases provide as much detail as possible to make your case.

Providing examples or (a link to) screenshots, help to understand.

Good luck and see you on the forums!

MSDN Blogs: MSP Summit参加記

$
0
0

本記事は Microsoft Student Partner 五十嵐さんからの寄稿より掲載させていただいています。

MSPの五十嵐 祐貴です。
東北の山の中にある大学に通いつつ、普段は.NETVisual Studioに関する技術を追いかけています。MSPでは、主に勉強会向けコンテンツやWebサイトの制作およびテクノロジ系勉強会での登壇などの活動を行っています。 http://vbcpp.net/

さて、726日から29日にかけて、各国MSPの代表が一か所に集まるMSP World-Wide Summitが、Imagine Cupの世界大会と並行して開催されました。今回、日本のMSPからは安藤さんと私が選出され、1週間ほどレドモンドにてイベントを満喫してきました。
全体に関しては、すでに安藤さんの記事で述べられているかと思いますので、このレポートでは主にMSP Summitにフォーカスした内容を皆様にお伝えできればと思います。

MSP Summitのスケジュールは?

MSP Summitの主なスケジュールは以下のようになっています。

726MSP Summit Overview
Demo Coaching
727Holographic Academy
MSP Summit #1
Imagine Robo World Cup Hackathon
728Awards Ceremony
MSP Summit #2
729World Championship
Imagine Robo World Cup Hackathon @ Garfield High school
Imagine Cup Party

 

いくつかピックアップしてご紹介します。

Holographic Academy

Holographic Academyは、HoloLens実機を用いたHoloLens向けアプリケーションの開発ハンズオンです。今回、MSP SummitImagine Cupの参加者は全員受講することができました。ハンズオンでは、HoloLensの基本的な使い方や3Dモデルの表示方法から、空間マッピングやネットワークを介した複数台の連携まで、幅広く体験することができました。

Pic1

1 Holographic Academyの様子

 

Pic2

2ハンズオン中に11台与えられたHoloLens実機

 

Imagine Robo World Cup Hackathon

Imagine Robo World Cup Hackathonは、Raspberry PiWindows IoT Coreをベースに、様々なキットやセンサーを組み合わせてサッカーロボットを作成し、作ったロボットを用いてサッカーで競うイベントです。必要となるロボットのパーツや組み立て手順などはあらかじめ示されていましたが、パーツやプログラムの改良は自由となっており、各チーム様々な改造をロボットに施していました。最終日には、ロボットの構築やプログラムの作成を一部簡略化したものを用いて、Garfield高校にて高校生向けのハッカソンを行いました。

Pic3

3私のチームが作成したロボット

 

Pic4

4 Imagine Robo World Cup 試合中の様子

 

MSP Summitのココがスゴイ!

充実したスケジュール

はじめにお伝えしたいのが、MSP Summit向けに用意されたスケジュールの充実ぶりです。

実はMSP Summitと同期間に、Imagine Cupのほかにも、世界中のMicrosoft社員が集まる社内イベントなどが開催されており、プログラムが発表される前までは「MSP Summitは裏番組のような扱いになってしまうのかな」などと考えていましたが、実際にはMSP向けのセミナーやディスカッション、Imagine Robo World Cupのようなコンペティションなど、たった数日の間に数々の充実したコンテンツが用意されていました。特に、本社のエンジニアやマネージャーの方を招いたセミナーでは「魅力的なプレゼンテーション・デモのコツ」や「今Microsoftが推し進めている最先端の技術」などに関するレクチャーをいただき、非常に勉強になりました。

 

Pic5

5 MSP Summit中に開催されたセミナーの様子

また、前述のとおりMSP SummitおよびImagine Cupのすべての参加者は、社員の方でも未だ限られた人しか触れることのできない、HoloLens実機を用いたハンズオンを体験することができました。パーティーなどの交流の場でもスタッフの皆さんから熱烈な歓迎をいただき、Microsoft本社の皆さんがMSP、そして学生に対して強い期待を寄せてくれていることを実感しました。

各国のMSP代表や本社の社員との交流

二つ目にお伝えしたいのが、MSP Summitに参加することによって生まれた、世界中のMSPたちとのコネクションです。

今回のMSP Summitを通して、世界中のMSPと仲良くなることができました。どの国のMSPも気さくな人が多く、空き時間には一緒にショッピングに行ったり、ゲームで遊んだりして楽しみました。中には故郷のおみやげなどをプレゼントしてくれた人もいました。余談ですが、個人的に応援している「C#たん」( http://csharp.moe/)というキャラクターを海外にも広めようと、私もステッカーを配り歩いていました。(「C#のキャラクター!?AWESOME!」のような感じで、割と好評でした。)

 

Pic6

6巨大ジェンガを使って真剣勝負

 

Pic7

7 C#たんステッカーと一緒に記念撮影

 

MSP Summit期間中、各国のMSPと交流するには十分すぎる機会がありましたが、特に仲が深まったと感じられたのが、最終日のGarfield高校で行われたImagine Robo World Cup Hackathonです。この日はMSPがメンターとなって、Garfield高校の高校生と一緒にロボットを組み上げる必要があるのですが、詰まっているチームを見つけたらお互いに助け合ったり、他国のMSPと協力して一つのことに集中することができました。このとき、私がメンターに集中しすぎて、支給されるはずのお弁当を取り損なってしまったところ、台湾やシンガポールの友人がお弁当を分けてくれたのが非常に良い思い出になっています。
MSPというプログラムに所属して同じ問題に取り組んでいる」という共通意識を強く実感し、改めてMSPであることの誇りやパートナーシップを感じることのできた、非常に良いイベントとなりました。

Pic8

8各国の友人と記念撮影

 

Pic9

9特に仲良くなった生徒とも記念撮影

 

またMSP Summit期間中には、本社のエンジニアやマネージャーの方々とお話しできる機会も用意されており、非常に充実した時間を過ごすことができました。特にMSPのプログラムマネージャーとは何度か個別にお話しする機会もあり、その度に励ましの言葉をかけていただきました。

 

Pic10

10お土産と一緒に記念撮影

 

たくさんのお土産

そして最後にご紹介したいのが、MSP Summitに参加したことで得られた、たくさんのお土産です。それは、現地での思い出や仲間、そして私たちへの期待や応援というのも確かに本当ですが、これ以外にも素敵なお土産が用意されていました。

なんと「Surface Book」がMSP Summit参加者全員にプレゼントされました。しかも、Core i7のメモリ16GB、そしてストレージが512GBという上位モデル。当然私たちは何も知らされていなかったので、会場は一瞬にして大盛り上がりでした。

 

Pic11

11参加者全員分に用意されたBookが積み重なっている様子、本棚

 

Pic12

12 Surface BookをゲットしたMSPたち

 

この他にもImagine Robo World Cup参加者全員に「Azure IoT Starter Kit」が、優勝チームにはトロフィーのほかにも、Xbox Oneが与えられました。ちなみに、私たちのチームは準決勝まで進むことができましたが、惜しくも延長戦で敗れてしまいました。

 

Pic13

13 Xbox OneをゲットしたMSPたち

MSP Summitを通して強く感じた 焦り

MSP Summitの期間中、特にディスカッションや雑談をしているうえで、海外のMSPたちと私の違いや彼らの偉大さを、強く実感し刺激された場面が何度もありました。特にその中でも最も多かったもの、それは「彼らが自身のストーリーをきちんと持って(中には既に行動にも移しており)、それらを言葉として表して、人にアピールできる」ということです。「そんなの普通にできるでしょう」と思われる方も多いかもしれませんが、私は私自身にこの能力が大きく欠けていることを、アメリカに行って強く実感し、焦りを感じた場面が何度もありました。

例として、キャリアプランについて考えるセッションの時に、いきなりマネージャーに質問された内容を挙げます。

“What are your strength?” ”What is your passion?”

日本でも「あなたの長所は何ですか?」という質問がよくありますが、それと似たような感じだと思います(違ったらすみません)。この質問をされたときに、すぐに言葉として返せるか、そしてどのように返すか、もしよろしければ考えてみてください。

一緒にいたチームメイトたちは「私の強みはコレで、こういうことをやってきた。だから、こういう箇所でこういったことに役立てていけると思う」というスピーチを、非常にわかりやすく、かつ納得できる展開で、アピールしていました。一方、私は、正直に言いますと、この手の話題が大の苦手で(そして苦手と言いながら遠ざけてきました)、あまりに考えが思い浮かばず「こういうことをしてきたけど、これってどう答えれば良いのかな?」などと質問をして「それはパートナーシップだね」「こういうところで活躍していってほしい」などのたくさんのフォローをいただきました。それはそれで非常に充実していましたが、同時に自身の未熟さを痛感しました。

他にも、セミナーでの質疑応答やアピールも非常に活発で、日本で活動しているときの定例会やミーティングとは大きく異なると感じた点も多々ありました。もちろん、私が自身の英語能力にコンプレックスを感じていることも原因の一つではありますが、それ以上に訓練すべき能力があることを痛感しました。

最後に

海外経験のあまり多くない私にとって、今回のMSP Summitは、考え方やモチベーションを大きく刺激し影響してくれた、非常に有意義なイベントとなりました。そして、このような機会を作れるのは、世界中で学生向けプログラムを展開しているMicrosoftであるからこそであり、MSPがグローバルな仕組みであることの強みを改めて実感しました。

私はMSPプログラムに2013年に入り、以降MSPとして、MSPに支えられながらエンジニア界隈での活動を続けてきました。そして、その活動を通して、地元で技術系コミュニティを作ることができたり、Microsoft MVPと呼ばれる賞を受賞することができました。今では様々な場所から活動する機会をいただいていますが、私がこれらの活動の機会を手にすることができた、その多くの原点は、MSPにあると考えています。今回のMSP Summitをはじめ、MSPからは多くのことを学ぶことができました。

これを読んでいる学生の皆さんが、少しでもMSPという組織に、そしてMSPでの活動に興味を持っていただけたら幸いです。そして、もしMSPで活動したいと考えている方がいましたら、ぜひ次回の募集でご応募いただけたらと思います。きっと、その先には素晴らしい機会がたくさん待っていることでしょう。

以上、MSP Summitのレポートでした!ここまで、レポートと言いながら、個人の感想ブログのような長文を失礼いたしました。

 

MSDN Blogs: Exporting your database to MySQL in-app database

$
0
0

This blog post will guide you through the process of exporting your current website’s database to local MySQL. Follow the process below to export your database:

Locate and access your current database:

Your database must be remotely accessible. Check your existing hosting provider on how to access your MySQL database. Most common tool used is PHPmyadmin for accessing your database. Check out this article on How to setup PHPmyadmin for your Azure Web App if your app is already running on Azure. PHPmyadmin is browser based tool that can be used to manipulate and manage your database.

   phpmyadmin1

You may also use MySQL workbench to access your database . Check out this article on how to access your database using MySQL workbench.

Export your database and Save it locally

PHPmyadmin

Access your database using PHPmyadmin and click on Export tab.

exportmyadmin

Select Custom export method to have the ability to modify how the script should be generated. Click on GO to generate the script and save the file locally .

options-config-myadmin

MySQLDump.exe

If you have MySQL installed on your local machine you can using mysqldump.exe utility usually found in the bin folder within MySQL folder. To export a remote database run the command in this format

D:Program Files (x86)mysql5.7.9.0bin>mysqldump -P port_number -h host_name -u mysql_user -p database_name > result_file.sql

Example:

D:Program Files (x86)mysql5.7.9.0bin>mysqldump -P 48926 -h mysqlserver.cloudapp.net -u root -p mywordpressdb > mydatabaseexport.sql

MySQL workbench

This tool offers an export wizard as shown below to export your database content. Check out the documentation for using the Export wizard to export the database

dbexport-wkbench

Once you have successfully exported the database, then inspect your MySQL database script to check if your application stores the site URL in the database. If yes, then update the URL to use Azure app service web app URL or custom domain if the custom domain is already pre-configured on your Azure web app. Your script is ready to be imported.

Import your database

Go to your web app Settings->Feature -> MySQL in-app to access the management settings for this feature. To open PHPmyadmin for your MySQL in-app database , click on browse button

localmysql3

Check your SQL script and make sure the USE statement is using the database name “azuredb” . This is the database used with the connection string we provide with MySQL in-app. If the USE statement has a different database name, update it to use azuredb database.

Then Click Import in the top menu in PHPmyadmin .Under File to Import, click Browse and select the script your exported from your source database. Then click Go to complete the import.

importphpmyadmin1

When the import is completed and successful, you can update your web app to connect to azuredb database with the imported database schema. That’s it and your database migration is completed.

 


MSDN Blogs: 兩個簡單又快速的網路應用程式負載測試工具

$
0
0

我這個早上在 ASP.NET Community Standup,Jon 提及了一個新的負載測試工具叫作「Netling」。這讓我想到一般簡單的輕量型負載測試,我有用過大的企業級系統像是 SilkTest,還有以雲端為基礎的負載測試工具像是 Azure Visual Studio 裡的那些。我也用過命令行工具像是 WCAT,一個雖然舊但很好用的負載測試工具。

我想我會花一點時間,來看看這兩個工具在本地的運行。目標就是看看我可以多容易地進行快速負載測試與反覆察看結果。

 

NETLING

Netling 的作者是 Tore Lervik,它是一個很棒的小小負載測試器用戶端,用來做一些簡單快速的網路測試。它是開源並且是在 GitHub上,能讀其他人的程式碼真的很有趣。

Netling 包含一個 WPF 與 Console 客戶端,完成所有工作只需簡潔地納入核心專案。有了 WPF 版本,您進行測試並選擇性地標記那個測試為基準,然後您就可以做一些細微的改變,再快速地重新進行測試。您將會得到紅色(壞)或綠色(好)的結果如果有改善的話。不過這樣的標示或許應該調整,來確保紅綠色盲的人也可以辨識。不管怎樣,這真的是一個很棒又簡潔的 UI 而且您一定會想要丟進實用工具資料夾,並常常使用它。

 

千萬記得在不是自己的伺服器上做負載測試是很不好的,請當個好人!

 

請注意目前都還沒有正式的「版本」釋出,所以您將需要複製存放庫並建置這個 app。幸運的是它可以非常簡潔地建置在免費版的 Visual Studio Community 2015 上。

twotools-1

Netling 主控台用戶端酷炫的 ASCII 圖表也是蠻值得注意的。

D:githubNetlingNetling.ConsoleClientbinx64Debug [master ≡]> .netling.exe http://www.microsoft.com -t 8 -d 20

Running 20s test @ http://www.microsoft.com/
    Threads:        8
    Pipelining:     1
    Thread afinity: OFF

1544 requests in 20.1s
    Requests/sec:   77
    Bandwidth:      3 mbit
    Errors:         0
Latency
    Median:         99.876 ms
    StdDev:         10.283 ms
    Min:            84.998 ms
    Max:            330.254 ms

    █
    █
    █
    █
   ██
   ███
████████████████████ █                                 █                       █
84.998 ms =========================================================== 330.254 ms

D:githubNetlingNetling.ConsoleClientbinx64Debug [master ≡]>

我確定 Tore 會很感激您們的幫助,所以快到 https://github.com/hallatore/Netling然後提交一些問題,但更重要的是可以跟他聊天並提供一個提取要求

 

WEBSURGE

WebSurge是一個有更完整功能的工具,作者為 Rick Strahl。Rick 是在 .NET 部落。WebSurge 在個人使用上提供免費又快速的下載但需要註冊,個人使就要跟 Rick 討論。

WebSurge 也使用 Fiddler Web Debugging Proxy的語言,所以您可以記錄並播放網路流量與產生複雜的負載測試情境。工作階段檔就只是您可以放進原始檔控制的測試檔並分享給其他組員。

twotools-2

我知道還有很多其他的選擇,而這裡只是兩個真的很快又容易操作的工具,您可以用來輕鬆地建立 HTTP 要求,然後隨意地播放並在開發過程中反覆執行。

在開發時您都使用什麼工具來進行負載測試與反覆測試效能呢?請在底下留言來讓我們知道。

 

本文翻譯自 Two tools for quick and easy web application load testing during development


 

VS

若對以上技術及產品有任何問題,很樂意為您服務! 請洽:台灣微軟開發工具服務窗口 – MSDNTW@microsoft.com / 02-3725-3888 #4922

MSDN Blogs: Consultar o Event Viewer com Regular Expressions e PowerShell

$
0
0

Hoje um cliente me pediu uma ajuda para filtrar um log do Event Viewer.

O cliente estava recebendo vários erros de conexão com o banco de dados Oracle. Esses erros estavam sendo gravados no Event Viewer e a quantidade de erros era muito grande para ele identificar se todos os erros eram do mesmo tipo (ORA-02067).

Eu informei que era possível usar o PowerShell e Regular Expressions (RegEx) para obter os logs do Event Viewer.

Exemplo de como obter os registros do log Application para a data atual e armazenar o resultado em uma variável.

$logs = Get-EventLog -LogName Application | ? { ($_.TimeWritten -ge $(get-date).Date )  }

No caso do cliente, os logs estavam em um arquivo exportado do Event Viewer. Para ler o arquivo e armazenar os valores em uma variável, eu utilizei o seguinte comando:

$logs = Get-WinEvent -Path C:tempevents.evtx

A maioria dos eventos do Event Viewer continha a seguinte mensagem de erro:

Exception message: ORA-02067: transaction or savepoint rollback required

Eu gostaria de verificar se existiam outros erros do Oracle, por exemplo, ORA-02055.

Uilizei a seguinte RegEx para extrair o valor ORA-?????:

“ORA-[d.]+”

Nesse padrão, eu busco a palavra ORA seguida de um traço (“-“) e de um ou mais decimais.

Para evitar receber toda a mensagem do log que satisfizesse a regra, e selecionar apenas o valor “ORA-?????” de dentro da mensagem, eu atribuí um identificador (errorcode) para a parte que eu gostaria de obter.

“(?<errorid>ORA-([d.]+))”

Para fazer a busca no array $logs, eu utilizei um loop (foreach) onde verifico item por item e armazeno o resultado encontrado em um outro array ($errorcodes) para posterior agrupamento.

$errorcodes = @()
foreach ($log in $logs)
{
$log.message  -match “(?<errorid>ORA-([d.]+))” | Out-Null

if ($Matches.Count -gt 0)
{
$errorcodes += $matches[“errorid”]
}
}
$errorcodes | group | select name, count

Para esse cenário, eu encontrei apenas o erro ORA-02067, conforme:

Name              Count
—-                   —–
ORA-02067   926

 

Espero que esse post tenha sido útil. Não deixe de consultar outros artigos disponíveis em: https://blogs.msdn.microsoft.com/luisdem/tag/powershell/

 

MSDN Blogs: OpsMgr: Overview of All Custom Monitor and Rule Templates Featured To Date

$
0
0


This post features a table that provides an overview of all custom sample monitor and rule templates featured to date (and coming soon) on the Wei Out There with SC & OMS blog:

Sample Monitor & Rule Template Name

Description

Download

Further
Details

1

PowerShell Script 2 State Monitor (v2)

This sample management pack provides a wizard to create PowerShell script based monitors in the Operations Console in System Center Operations Manager 2007 R2 & 2012.

Link

Link

2

PowerShell Script (Performance)

This sample management pack provides a wizard to allow the user to create custom performance collection rules for collecting PowerShell script data as performance data and writing it to both OpsMgr DB and Data Warehouse DB, by just using a template in the Operations Console.

Link

Link

3

PowerShell Script (Performance – OpsDB Only)

This sample management pack provides a wizard to allow the user to create custom performance collection rules for collecting PowerShell script data as performance data and only writing it to the OpsMgr DB, by just using a template in the Operations Console.

Link

Link

4

PowerShell Script (Performance – OMS Bound)

This sample management pack provides a wizard to allow the user to create custom performance collection rules for collecting PowerShell script data as NRT performance data and sending it to OMS (Operations Management Suite, by just using a template in the Operations Console.

Link

Link

5

PowerShell Script (Event – OMS Bound)

This sample management pack provides a wizard to allow the user to create PowerShell script rules to collect custom data to be stored as event-typed data (Type=Event) in OMS, by just using a template in the Operations Console.

Link

Link

6

PowerShell Script (Alerting)

This sample management pack provides a wizard to allow the user to create PowerShell script rules to collect custom data to be stored as alert-typed data, by just using a template in the Operations Console.

Coming Soon

Coming Soon

 

 

 

 

 



Summary View:

  • Sample PowerShell Script (Event – OMS Bound)
    image 
     


 

Disclaimer:
All information on this blog is provided on an as-is basis with no warranties and for informational purposes only. Use at your own risk. The opinions and views expressed in this blog are those of the author and do not necessarily state or reflect those of my employer.

MSDN Blogs: Microsoft Dynamics CRM Online 2016 更新プログラム 1 新機能: フィールド サービス: 予約の確認、作業完了報告

$
0
0

みなさん、こんにちは。

Microsoft Dynamics CRM Online 2016 更新プログラム 1 新機能からフィールド サービスについて紹介します。
本記事はシリーズもののため、前回の記事をご覧になっていない方は合わせてご参照ください。

Microsoft Dynamics CRM Online 2016 更新プログラム 1 新機能: フィールド サービス: 概要
Microsoft Dynamics CRM Online 2016 更新プログラム 1 新機能: フィールド サービス: 事前準備
Microsoft Dynamics CRM Online 2016 更新プログラム 1 新機能: フィールド サービス: 作業指示書の作成、割り当て

 

予約の確認、作業完了報告

前回まではサポート案件から作業指示書を作成し、作業担当者に割り当て手順を紹介しました。
今回は、作業担当者が割り当てられた予約を確認し、作業完了を行う手順を紹介します。
通常作業担当者は、お客様先へオンサイトするため、モバイルアプリケーションを利用して一連の手順を行うことができます。

– モバイルアプリケーションのインストール

– モバイルアプリケーションのセットアップ

– 予約の確認

– 作業完了報告

 

モバイルアプリケーションのインストール

モバイル アプリケーションは、Windows, Android, iOS で利用することが可能です。
今回は iPhone による操作を紹介します。

1. Apple Store をタップします。

IMG_3716

2. “Field Service Mobile” を検索し、インストールします。

IMG_3715

3. 起動します。

IMG_3735

モバイルアプリケーションのセットアップ

1. アプリケーションを起動します。

IMG_3717

2. 通知を許可するため、OK をタップします。

IMG_3719

3. 最初のメニューが表示されます。

IMG_3725

メニューから [セットアップ] をタップします。

IMG_3726

3. CRM のリンクをクリックします。

IMG_3727

4. URL, ユーザー名, パスワードを入力します。

IMG_3730

5. 右上のアイコンをクリックします。

IMG_3730

6. データの削除を選択します。

IMG_3731

7. データが同期されます。

IMG_3732

IMG_3733

8. 完了したことを確認します。

IMG_3734

 

予約の確認

1. [予約可能リソースの予約] をタップします。

IMG_3734

2. 自分に設定されている予約が表示されます。

IMG_3736

3. 表示は、日、週、月 ごとに表示形式を切り替えることができます。

IMG_3737

4. 予約をタップすると場所の情報にアクセスすることを許可します。

IMG_3740

5. 予約の詳細が表示されます。

IMG_3741

 

作業完了報告

1. 完了する予約をタップします。

2. [予約状態] を完了にします。

IMG_3742

IMG_3743

4. 右上の保存ボタンをタップします。

IMG_3743

5. 予約が完了したため、画面に表示されなくなったことわかります。

IMG_3744

5. 自動同期のタイミングを待ちます。手動で同期する場合は、右上のアイコンをタップします。

IMG_3730

6. アップロードが実行されます。

IMG_3745

6. 完了したら、Dynamics CRM にログインします。

7. [フィールド サービス] > [リソースの予約] をクリックします。

image

8. 作業指示書の状態が [完了済み]になっていることが分かります。

image

9. スケジュール ボードにおいても、予約が緑色になっており、完了されていることが分かります。

image

 

まとめ

いかがだったでしょうか。複数回にわたりフィールド サービスを紹介していきました。
次回は、スケジュール ボードとモバイル アプリケーションの機能をより詳細に紹介していきます。

– プレミアフィールドエンジニアリング 河野 高也

※本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります

MSDN Blogs: NEXT UP — Calling Aspiring Microsoft Azure Specialists!

$
0
0

NEXT UPEarning any kind of specialist certification is a great way to stand out from the crowd, whether you’re looking for a new challenge, a new job, or a way to make yourself more valuable to your current employer. With the growing importance of the cloud, Microsoft Azure is a must-have certification for anyone looking to prove their skills.

You’re probably familiar with all the great things Microsoft Azure brings to a business, including the collection of integrated cloud services. You’ve worked with those solutions and have earned technical skills and knowledge.

Now it’s time to validate that experience.

Here’s what it takes to become a Certified Microsoft Azure Specialist: schedule, prepare for and pass one of these two exams:

Exam 533 — Implementing Microsoft Azure Infrastructure Solutions— is for you if you have implemented an infrastructure solution in Microsoft Azure, if you’ve implemented and monitored cloud and hybrid solutions, and if you’ve supported application lifecycle management.

This exam tests your knowledge of how to:

  • Implement a website
  • Implement virtual machines
  • Implement cloud services
  • Implement storage
  • Implement a Microsoft Azure Active Directory
  • Implement virtual networks

Exam 534 — Architecting Microsoft Azure Solution— is for people interested in validating their Microsoft Azure solution design skills.

To get certified by passing this exam, you’ll need to already be familiar with the features and capabilities of Microsoft Azure services, like being able to identify tradeoffs and make decisions for designing public and hybrid cloud solutions. You’ll also be expected to be able to define the appropriate infrastructure and platform solutions to meet the required functional, operational, and deployment requirements through the solution lifecycle.

In order to pass, you’ll need to know how to:

  • Design Microsoft Azure infrastructure and networking
  • Secure resources
  • Design an application storage and data access strategy
  • Design an advanced application
  • Design websites
  • Design a management, monitoring, and business continuity strategy

Next Up is our, five-week three-stage exam preparation camp created by Microsoft Certified Trainers to give you the edge you need and fast track your way to be a Microsoft Azure Certified Specialist.

STAGE 1: Five weeks of guided self-study with the support of skilled Microsoft Certified Trainers via Yammer.

STAGE 2: In Person Exam Preparation ½ day, which is designed to get you in shape to sit the exam, you will have access to skilled experts to help you answer those tough questions.

STAGE 3: In Person Exam Preparation ½ day, it is time to put all your hard work aside and to SIT THE EXAM and become a Microsoft Azure Certified Specialist.

The program kicks off the final week of September register today and get ready for your 5-weeks of virtual study prior to your in person class.

CourseSydney Microsoft OfficeMelbourne CliftonsBrisbane CliftonsAdelaide CliftonsPerth Cliftons
Exam 70-533: Implementing Microsoft Azure Infrastructure SolutionsTuesday November 1

In Person Exam-Prep

08:30am – 12:30pm

Sit the Exam

1:00pm – 3:00pm

Monday November 21

In Person Exam-Prep

08:30am – 12:30pm

Sit the Exam

1:00pm – 3:00pm

Thursday November 24

In Person Exam-Prep

08:30am – 12:30pm

Sit the Exam

1:00pm – 3:00pm

Monday November 28

In Person Exam-Prep

08:30am – 12:30pm

Sit the Exam

1:00pm – 3:00pm

Thursday December 1

In Person Exam-Prep

08:30am – 12:30pm

Sit the Exam

1:00pm – 3:00pm

Exam 70-534: Architecting Microsoft Azure SolutionsWednesday November 2

In Person Exam-Prep

08:30am – 12:30pm

Sit the Exam

1:00pm – 3:00pm

Tuesday November 22

In Person Exam-Prep

08:30am – 12:30pm

Sit the Exam

1:00pm – 3:00pm

Friday November 25

In Person Exam-Prep

08:30am – 12:30pm

Sit the Exam

1:00pm – 3:00pm

Tuesday November 29

In Person Exam-Prep

08:30am – 12:30pm

Sit the Exam

1:00pm – 3:00pm

Friday December 2

In Person Exam-Prep

08:30am – 12:30pm

Sit the Exam

1:00pm – 3:00pm

Viewing all 3015 articles
Browse latest View live