Month: September 2024
Create your own Visual Studio Code Chat Copilot Agent with Phi-3.5 by GitHub Models
Are you using Visual Studio Code Copilot? Especially in Chat, you can use different agents to improve the ability to create, write, and maintain projects in Visual Studio Code. Visual Studio Code provides an API that allows companies and individuals to create different agents based on their business to expand their capabilities in different proprietary fields. In this article, we will focus on Phi-3.5-mini-instruct (128k) and Phi-3.5-vision-instruct (128k) of GitHub Models to create your own Visual Studio Code Agent.
About Phi-3.5 on GitHub Models
We know that Phi-3/3.5-mini-instruct in the Phi-3/3.5 Family has strong code understanding and generation capabilities, and has advantages over Gemma-2-9b and Mistral-Nemo-12B-instruct-2407.
The latest GitHub Models already provide access to the Phi-3.5-mini-instruct (128k) and Phi-3.5-vision-instruct (128k) models. Developers can access them through the OpenAI SDK, Azure AI Inference SDK, and REST API.
Note: It is recommended to use Azure AI Inference SDK here, because it can better switch with the Azure Model Catalog in the production environment
The following are the results of Phi-3.5-mini-instruct (128k) and Phi-3.5-vision-instruct (128k) in the code generation scenario after docking with GitHub Models, and also prepare for the following examples
Demo: GitHub Models Phi-3.5-mini-instruct (128k) generate code from Prompt (click this link)
Demo: GitHub Models Phi-3.5-vision-instruct (128k) generate code from Image (click this link)
About GitHub Copilot Chat Agent
GitHub Copilot Chat Agent can complete different tasks in different project scenarios based on the code. The system has four agents: workspace, github, terminal, vscode
By adding the name of the agent with ‘@’, you can quickly complete the corresponding work. For enterprises, if you add your own business-related content such as requirements, coding, test specifications, and release, you can have more powerful enterprise private functions based on GitHub Copilot.
Visual Studio Code Chat Agent has now officially released its API, allowing enterprises or enterprise developers to develop agents based on different software business ecosystems. Based on the development method of Visual Studio Code Extension Development, you can easily access the interface of the Visua Studio Code Chat Agent API. We can develop based on this process
The development scenario can support access to third-party model APIs (such as GitHub Models, Azure Model Catalog, and self-built services based on open source models) and can also use the gpt-35-turbo, gpt-4, and gpt-4o models provided by GitHub Copilot.
Add an Agent @phicoding based on Phi-3.5
We try to integrate the programming capabilities of Phi-3.5 to complete code writing, image generation code and other tasks. Complete an Agent built around Phi-3.5 – @PHI, the following are some functions
Generate a self-introduction based on GPT-4o provided by GitHub Copilot through the @phicoding /help command
Generate code for different programming languages based on Phi-3.5-mini-instruct (128k) through the @phicoding /gen command
Generate code based on Phi-3.5-vision-instruct (128k) and image completion through the @phicoding /image command
Related steps
Install Visual Studio Code Extension development support using npm
npm install –global yo generator-code
Create a Visual Studio Code Extension plugin (using Typescript development mode, named phiext)
yo code
Open the created project and modify package.json. Here are the related instructions and configurations, as well as the configuration of GitHub Models. Note that you need to add your GitHub Models token here.
{
“name”: “phiext”,
“displayName”: “phiext”,
“description”: “”,
“version”: “0.0.1”,
“engines”: {
“vscode”: “^1.93.0”
},
“categories”: [
“AI”,
“Chat”
],
“activationEvents”: [],
“enabledApiProposals”: [
“chatVariableResolver”
],
“main”: “./dist/extension.js”,
“contributes”: {
“chatParticipants”: [
{
“id”: “chat.phicoding”,
“name”: “phicoding”,
“description”: “Hey! I am Microsoft Phi-3.5, She can help me with coding problems, such as generation code with your natural language, or even generation code about chart from images. Just ask me anything!”,
“isSticky”: true,
“commands”: [
{
“name”: “help”,
“description”: “Introduce myself to you”
},
{
“name”: “gen”,
“description”: “Generate code for you with Microsoft Phi-3.5-mini-instruct”
},
{
“name”: “image”,
“description”: “Generate code for chart from image(png or jpg) with Microsoft Phi-3.5-vision-instruct, please add image url like this : https://ajaytech.co/wp-content/uploads/2019/09/index.png”
}
]
}
],
“commands”: [
{
“command”: “phicoding.namesInEditor”,
“title”: “Use Microsoft Phi 3.5 in Editor”
}
],
“configuration”: {
“type”: “object”,
“title”: “githubmodels”,
“properties”: {
“githubmodels.endpoint”: {
“type”: “string”,
“default”: “https://models.inference.ai.azure.com”,
“description”: “Your GitHub Models Endpoint”,
“order”: 0
},
“githubmodels.api_key”: {
“type”: “string”,
“default”: “Your GitHub Models Token”,
“description”: “Your GitHub Models Token”,
“order”: 1
},
“githubmodels.phi35instruct”: {
“type”: “string”,
“default”: “Phi-3.5-mini-instruct”,
“description”: “Your Phi-35-Instruct Model”,
“order”: 2
},
“githubmodels.phi35vision”: {
“type”: “string”,
“default”: “Phi-3.5-vision-instruct”,
“description”: “Your Phi-35-Vision Model”,
“order”: 3
}
}
}
},
“scripts”: {
“vscode:prepublish”: “npm run package”,
“compile”: “webpack”,
“watch”: “webpack –watch”,
“package”: “webpack –mode production –devtool hidden-source-map”,
“compile-tests”: “tsc -p . –outDir out”,
“watch-tests”: “tsc -p . -w –outDir out”,
“pretest”: “npm run compile-tests && npm run compile && npm run lint”,
“lint”: “eslint src”,
“test”: “vscode-test”
},
“devDependencies”: {
“@types/vscode”: “^1.93.0”,
“@types/mocha”: “^10.0.7”,
“@types/node”: “20.x”,
“@typescript-eslint/eslint-plugin”: “^8.3.0”,
“@typescript-eslint/parser”: “^8.3.0”,
“eslint”: “^9.9.1”,
“typescript”: “^5.5.4”,
“ts-loader”: “^9.5.1”,
“webpack”: “^5.94.0”,
“webpack-cli”: “^5.1.4”,
“@vscode/test-cli”: “^0.0.10”,
“@vscode/test-electron”: “^2.4.1”
},
“dependencies”: {
“@types/node-fetch”: “^2.6.11”,
“node-fetch”: “^3.3.2”,
“@azure-rest/ai-inference”: “latest”,
“@azure/core-auth”: “latest”,
“@azure/core-sse”: “latest”
}
}
Modify src/extension.ts
// The module ‘vscode’ contains the VS Code extensibility API
// Import the module and reference it with the alias vscode in your code below
import * as vscode from ‘vscode’;
import ModelClient from “@azure-rest/ai-inference”;
import { AzureKeyCredential } from “@azure/core-auth”;
interface IPhiChatResult extends vscode.ChatResult {
metadata: {
command: string;
};
}
const MODEL_SELECTOR: vscode.LanguageModelChatSelector = { vendor: ‘copilot’, family: ‘gpt-4o’ };
function isValidImageUrl(url: string): boolean {
const regex = /^(https?://.*.(?:png|jpg))$/i;
return regex.test(url);
}
// This method is called when your extension is activated
// Your extension is activated the very first time the command is executed
export function activate(context: vscode.ExtensionContext) {
const codinghandler: vscode.ChatRequestHandler = async (request: vscode.ChatRequest, context: vscode.ChatContext, stream: vscode.ChatResponseStream, token: vscode.CancellationToken): Promise<IPhiChatResult> => {
const config : any = vscode.workspace.getConfiguration(‘githubmodels’);
const endPoint: string = config.get(‘endpoint’);
const apiKey: string = config.get(‘api_key’);
const phi35instruct: string = config.get(‘phi35instruct’);
const phi35vision: string = config.get(‘phi35vision’);
if (request.command === ‘help’) {
const content = “Welcome to Coding assistant with Microsoft Phi-3.5”;
stream.progress(content);
try {
const [model] = await vscode.lm.selectChatModels(MODEL_SELECTOR);
if (model) {
const messages = [
vscode.LanguageModelChatMessage.User(“Please help me express this content in a humorous way: I am a programming assistant who can help you convert natural language into code and generate code based on the charts in the images. output format like this : Hey I am Phi ……”)
];
const chatResponse = await model.sendRequest(messages, {}, token);
for await (const fragment of chatResponse.text) {
stream.markdown(fragment);
}
}
} catch(err) {
console.log(err);
}
return { metadata: { command: ‘help’ } };
}
if (request.command === ‘gen’) {
const content = “Welcome to use phi-3.5 to generate code”;
stream.progress(content);
const client = new ModelClient(endPoint, new AzureKeyCredential(apiKey));
const response = await client.path(“/chat/completions”).post({
body: {
messages: [
{ role:“system”, content: “You are a coding assistant.Help answer all code generation questions.” },
{ role:“user”, content: request.prompt }
],
model: phi35instruct,
temperature: 0.4,
max_tokens: 1000,
top_p: 1.
}
});
stream.markdown(response.body.choices[0].message.content);
return { metadata: { command: ‘gen’ } };
}
if (request.command === ‘image’) {
const content = “Welcome to use phi-3.5 to generate code from image(png or jpg),image url like this:https://ajaytech.co/wp-content/uploads/2019/09/index.png”;
stream.progress(content);
if (!isValidImageUrl(request.prompt)) {
stream.markdown(‘Please provide a valid image URL’);
return { metadata: { command: ‘image’ } };
}
else
{
const client = new ModelClient(endPoint, new AzureKeyCredential(apiKey));
const response = await client.path(“/chat/completions”).post({
body: {
messages: [
{ role: “system”, content: “You are a helpful assistant that describes images in details.” },
{ role: “user”, content: [
{ type: “text”, text: “Please generate code according to the chart in the picture according to the following requirementsn1. Keep all information in the chart, including data and textn2. Do not generate additional information that is not included in the chartn3. Please extract data from the picture, do not generate it from csvn4. Please save the regenerated chart as a chart and save it to ./output/demo.png”},
{ type: “image_url”, image_url: {url: request.prompt}
}
]
}
],
model: phi35vision,
temperature: 0.4,
max_tokens: 2048,
top_p: 1.
}
});
stream.markdown(response.body.choices[0].message.content);
return { metadata: { command: ‘image’ } };
}
}
return { metadata: { command: ” } };
};
const phi_ext = vscode.chat.createChatParticipant(“chat.phicoding”, codinghandler);
phi_ext.iconPath = new vscode.ThemeIcon(‘sparkle’);
phi_ext.followupProvider = {
provideFollowups(result: IPhiChatResult, context: vscode.ChatContext, token: vscode.CancellationToken) {
return [{
prompt: ‘Let us coding with Phi-3.5 😋😋😋😋’,
label: vscode.l10n.t(‘Enjoy coding with Phi-3.5’),
command: ‘help’
} satisfies vscode.ChatFollowup];
}
};
context.subscriptions.push(phi_ext);
}
// This method is called when your extension is deactivated
export function deactivate() {}
Running
/help
@phicoding /help
@phicoding /gen
@phicoding /image
Get this demo: Click this link
Resources
Sign up GitHub Models https://gh.io/models
Learn Visual Studio Code Extension Development https://code.visualstudio.com/api/get-started/your-first-extension
Learn about Visual Studio Code Coilot Chat API https://code.visualstudio.com/api/extension-guides/chat
Learn more in Phi-3 Cookbook https://aka.ms/phi-3cookbook
Microsoft Tech Community – Latest Blogs –Read More
The Best Screen Recorder for Windows 10 PC that supports audio input?
Hi all,
I am new to Windows and recently received an Windows 10 PC as gift. As a customer support engine, I have to record product videos for my client. What is the best screen recorder for Windows 10 PC? I was trying to find a good answer from search engine, but there are so many choices out there. The basic requirements are:
Recording with shortcuts.Support audio input.Able to edit the recorded videos
Kindly let me know if you know a good screen recording app for Windows 10.
Thanks
Hi all, I am new to Windows and recently received an Windows 10 PC as gift. As a customer support engine, I have to record product videos for my client. What is the best screen recorder for Windows 10 PC? I was trying to find a good answer from search engine, but there are so many choices out there. The basic requirements are:Recording with shortcuts.Support audio input.Able to edit the recorded videosKindly let me know if you know a good screen recording app for Windows 10. Thanks Read More
Responsible AI: from principles to practice – New Blog Series
Responsible AI: from principles to practice
Welcome to this new blog series dedicated to Responsible AI (RAI), covering conceptual overviews, RAI toolchain in the Azure ecosystem and practical examples of its usage!
Responsible AI at its core is about developing, deploying and managing AI systems in a way that is ethical, secure, and inclusive. Microsoft’s commitment to RAI is the result of a long journey of innovation and research, which led us to where we are today, to the point of operationalizing RAI in our products and enabling our customers to do so.
To grasp the fundamentals of Microsoft’s RAI standard and framework, you can start by reading this article, which features a lot of helpful learning resources.
Starting by today and every 2 weeks, we are going to publish a blog post focusing on a different aspect or tool enabling developers to innovate responsibly. Such topics include content filtering, evaluations, mitigation strategies, jailbreaks, plus coverage for new responsible AI announcements!
Upcoming blogs:
Blog
Publish date
Content filtering with Azure AI Studio
20th September
*This list will be updated regularly, so come back to check the latest content.
Don’t miss this learning opportunity and embark on a journey to safeguard your AI system from the latest threats and mitigate risks associated to content generation.
Microsoft Tech Community – Latest Blogs –Read More
Announcing GA of new Indian voices
For modern businesses, high quality conversational and expressive voices are a must. These voices enable them to power high-value scenarios like call centers, IVRs, voice assistants and chatbots. For several years now, Azure has offered a bouquet of TTS voices in India for multiple languages and genders, which cater to these business scenarios. We are now pleased to announce a major upgrade in our catalogue of TTS voices for the Indian locale. We have 3 pieces of updates:
We are upgrading our existing English (Indian) and Hindi voices to be more expressive and natural.
We are also announcing the release of 11 new voices for English (India) and Hindi languages in female and male categories.
Apart from this, we are expanding our portfolio of languages to include Assamese, Punjabi and Oriya languages for both female and male categories. With this, Azure now supports 13 Indian languages, which serve more than 90% of the Indian market.
These new voices are generally available for all Azure regions.
Upgrade to existing voices
We are improving our existing Neerja (en-IN) and Swara (hi-IN) with the addition of ‘Styles’. You can now make the voices sound ‘Empathetic’, ‘Newscast’ and ‘Cheerful’ based on the required emotional tone. These changes bring a more dynamic nature to the existing Default voices. Here are a few samples:
Voice
Style
Script
Sample
Neerja (en-IN)
Default
Street photography is the art of capturing the unguarded, spontaneous moments that unfold on the streets. It’s about capturing the raw emotions and unfiltered beauty of everyday life and preserving those fleeting moments forever.
Neerja (en-IN)
Newscast
Now, let’s take a look at the financial landscape. Today, markets experienced notable fluctuations. Analysts such as Shankar Sharma and Nirmal Jain are closely monitoring the situation for insights into potential economic trends and their implications for various sectors.
Neerja (en-IN)
Cheerful
Oh that’s so wonderful to hear! I am so glad that you have registered for the half marathon! You are a true inspiration, Meghna! You’ll be a star during the run, and I do expect to see several more registrations, now that people know that you’re also running!
Neerja (en-IN)
Empathetic
Close your eyes and take a deep breath in. Visualize the beautiful backwaters of Kerala. Let the calmness wash over you, releasing all anxiety. Feel the peace within and just be present in this moment, connected to the environment around you. Embrace the stillness and let go of everything else.
Swara (hi-IN)
Default
हाई, मैं ऐश्वर्या हूँ, आपकी डिजिटल साथी। मैं आपके असाइनमेंट में आपकी मदद करने के लिए हूं। ऐसा लगता है कि आप उत्तराखंड में अक्सर होने वाली प्राकृतिक आपदाओं के बारे में कुछ जानकारी ढूंढ रहे हैं। क्या ये सही है?
Swara (hi-IN)
Newscast
जलवायु परिवर्तन एक वैश्विक संकट है जिसके लिए तत्काल कुछ उपाय करने की आवश्यकता है। हमारा ग्रह अभूतपूर्व चुनौतियों का सामना कर रहा है। आइए एकजुट होकर कुछ उपायों को लागू करने की दिशा में आगे बढ़ें, जो हमारी पृथ्वी की रक्षा करें।
Swara (hi-IN)
Cheerful
आज मैं आपको दक्षिण भारत का मशहूर सांभर बनाना सिखाने वाली हूँ। सबसे पहले टमाटर, इमली और मसाले अच्छे से उबाल लें। फिर उसमें तड़का लगाएं। उसकी खुशबू से दिल खुश हो जाएगा। गरमागरम सांभर चावल के साथ परोसें। वाह, मज़ा आ जाएगा!
Swara (hi-IN)
Empathetic
कल्पना कीजिए कि आप एक शांत मरीना समुद्र तट के किनारे पर खड़े हैं, लहरें रेतीले तट को भीगा रही हैं। जैसे ही आप सांस लेते हैं, समुद्र की हवा की ताजगी महसूस करते हैं, और जैसे ही आप सांस छोड़ते हैं, मुक्ति और तनाव या चिंता से छुटकारा पाने की भावना महसूस करते हैं।
The addition of ‘Styles’ has made the already popular Neerja and Swara voices even more dynamic and useful for diverse scenarios. Customers can employ simple SSML tags, along with a control on Style Degree to generate suitable TTS. These are generally available in all regions now and can be tried on the Speech Studio.
New English (India) and Hindi voices
Looking at the new scenarios and a need for a more diverse set of voices, we are expanding our selection of voices in these 2 languages in both female and male categories. We are adding 6 new voices for English (India) and 5 new voices for Hindi (India), with unique properties and voice characteristics. You now have more options to choose from while building your voice application.
Female voices
We are adding 3 new voices in English (India) and 2 new voices in Hindi (India).
Voice
English Script
English Sample
Hindi Script
Aashi
Kittu, the giraffe, had the world’s longest neck but the gentlest spirit. She reached for leaves at the highest treetops, sharing them with friends below. Her kind heart made her the jungle’s beloved guardian, watching over all creatures. Kittu proved that true greatness came not from height, but from the heart.
NA
NA
Ananya
Oh dear, it seems there’s been a delay in your package delivery. Let me check that for you right away. Can you share your order number and contact details, so I can investigate this matter further? Don’t worry; we’ll get this sorted out for you ASAP!
मैं निश्चित रूप से इसमें मदद कर सकती हूँ! बस ऐप खोलें और ‘सेटिंग्स’ पर टैप करें, फिर ‘पर्सनल डिटेल्स’ पर जाएं। वहां आपको ‘अपडेट एड्रेस’ का विकल्प मिलेगा। बस अपनी नई जानकारी दर्ज करें और ‘सेव’ बटन पर क्लिक करें। जब यह पूरा हो जाए या आपको मेरी सहायता की आवश्यकता हो तो मुझे बताएं।
Kavya
AI is a game-changer! It’s already transforming industries like healthcare, finance, and transportation, and it’s only going to get better. With its ability to analyze vast amounts of data and make predictions, AI has the potential to solve some of the world’s biggest problems. Let’s be a part of this exciting journey!
लोकतंत्र वह प्रणाली है जिसमें जनता खुद निर्णय लेती है। इसमें कानून का राज, हर व्यक्ति के अधिकारों का सम्मान और स्वतंत्र और निष्पक्ष चुनाव होते हैं। लोकतंत्र में जनता के प्रतिनिधि काम करते हैं और जनता के प्रति जवाबदेह होते हैं और नागरिकों के हितों की रक्षा करते हैं।
Male voices
We are adding 3 new voices in both English (India) and Hindi (India).
Voice
English Script
English Sample
Hindi Script
Hindi Sample
Aarav
I’m so thrilled about our trip to Goa next month! The beaches, the food, and the vibrant culture are going to be amazing. I can’t wait to explore all the hidden gems. Let’s make sure to pack our best beachwear and sunscreen. It’s going to be epic!
मैं शहर में खुलने वाले नए रेस्टोरेंट को लेकर सच में उत्साहित हूं। वे ऑथेन्टिक साउथ इन्डियन व्यंजन परोसते हैं, और सब रिव्यूज़ भी शानदार हैं। चलिए इस रविवार वहां डिनर की योजना बनाएं और स्वादिष्ट डोसा और फिल्टर कॉफी का आनंद लें। वाह! काफी मज़ेदार दिन रहेगा!
Kunal
I was reflecting on our conversation about sustainable living. It’s inspiring how small changes in our daily habits can make a big difference. I’m planning to start with reducing plastic use and conserving water. Let’s motivate each other on this journey.
सकारात्मक बातों को दोहराएँ. खुद से कहें कि, “मैं मजबूत हूं। मैं शांत हूं। मैं सक्षम हूं।” महसूस करें कि ये सत्य आपके भीतर गूंज रहे हैं, आपकी आत्मा को पूरी तरह से सशक्त बना रहे हैं। विश्वास को गहराई से अंदर लें, संदेह को धीरे से बाहर निकालें, और इन बातों को हर दिन दोहरा कर, अपने आंतरिक संकल्प और आत्मविश्वास को मजबूत होने दें।
Rehaan
Hello ma’am, I’m really sorry about the long holding period. All our senior technicians are currently busy. Can I call you back after some time? Please provide a convenient time, and I’ll ensure a technician contacts you. Thank you for your patience and understanding.
सर, हमने आपके बिजली बिल भुगतान की पुष्टि कर दी है। 21 जून, 2024 को 1500 रुपए का भुगतान प्राप्त हुआ। यदि आपके कोई प्रश्न हैं, तो कृपया बेझिझक हमें हमारे कस्टमर केयर पर संपर्क करें। धन्यवाद! आपकी सुविधा के लिए हम हमेशा मौजूद हैं।
All these new voices are generally available in all regions and can be tried out on the Speech Studio.
New language support
We are also excited to announce an enhanced support for 3 new locales in the India region for both male and female voices. With the addition of Assamese, Punjabi and Oriya, the number of languages supported for the Indian market in Azure Speech now goes up to 13. Here are a few samples:
Language
Voice
Script
Sample
Assamese
Yashica (F)
সুখী হোৱাৰ মজিয়াত, সকলোৰে মনত আনন্দৰ হাঁহি ফুটে। বাহ, এই কথাটো শুনি মনত একেবাৰে আনন্দৰ ঢৌ বৈ আহিল! ক্ষুদ্ৰ মুহূর্তবোৰ উপভোগ কৰাটোৱেই সুখৰ মূল কথা। গধূলি সাত বজাত ঘৰৰ চোতালত বহি একাপ অসমৰ চাহ আৰু পৰিয়াল, বন্ধুসকলৰ সৈতে সময় কটাবলৈ, আৰু নিজকে ভাল পাবলৈ প্ৰয়াস কৰাটো সুখী জীৱনৰ মূলমন্ত্র।
Assamese
Priyom (M)
অ’ মই আজিকালি দুই হাজাৰ চব্বিশত বহুত উত্তেজিত! কিয়নো এই সময়বোৰত আমি একেবাৰেই সুকলমে আগবাঢ়িছো। নতুন বন্ধু-বান্ধৱীৰ সৈতে সময় কটাই সুখী হৈছো, আৰু আনকি নতুন অভিজ্ঞতাবোৰো লাভ কৰিছো। সকলোবোৰ মিলি মোৰ মন একেবাৰেই প্ৰফুল্ল কৰি তুলিছে। অসমীয়া সংস্কৃতিৰ এক অপূৰ্ব অভিজ্ঞতা হ’ব য’ত বিহু নৃত্য, ঢোল-তাল, পিঠা-পনা, আৰু গামোচা চাবলৈ পাম।
Oriya
Subhasini (F)
ଆଜି ଆମେ ଏକ ବିଶେଷ ଦିନ ପାଇଁ ପ୍ରସ୍ତୁତ ହେଉଛୁ | ମୋ ଭାଇ ରଘୁକୁ ପଚାଶ ହଜାର ଟଙ୍କାରେ ଏକ ନୂଆ ଗାଡ଼ି ମିଳିଛି | ମୁଁ ଚାହେଁ ତୁମ ସହିତ ଆସନ୍ତାକାଲି ସକାଳ ଦଶଟା ବେଳେ ସେହି ଗାଡ଼ି ଚଲାଇବା ପାଇଁ | ତୁମେ ମୋ ସହିତ ଯୋଗାଯୋଗ କରି ଆସିବାକୁ ଚେଷ୍ଟା କର | ଦିନ ଟା ଆମ ସହିତ ବହୁତ ମଜା ଆସିବ |
Oriya
Sukant (M)
ବର୍ତ୍ତମାନ, ଆମେ ଜଳରଙ୍ଗର ଏକ ସମତୁଲ୍ୟ ମିଶ୍ରଣ କରି ଅଭ୍ୟାସ କରିବାକୁ ଯାଉଛୁ | ଏହା ଆପଣଙ୍କୁ ରଙ୍ଗର ତୀବ୍ରତା ଏବଂ ଗାଢ଼ତାକୁ ନିୟନ୍ତ୍ରଣ କରିବାରେ ସାହାଯ୍ୟ କରିବ | ଏକ ଆଲୋଡ଼ା ରେ ଅଧା କପ୍ ପାଣି ମିଶାନ୍ତୁ ଏବଂ ଏହାକୁ ଆପଣଙ୍କର ପ୍ରଥମ ଆକୃତି ରେ ହାଲୁକା ଭାବରେ ପ୍ରୟୋଗ କରନ୍ତୁ | ଯଦି ଆପଣମାନେ ଭୁଲ୍ କରିଛନ୍ତି, ଭୟଭୀତ ହୁଅନ୍ତୁ ନାହିଁ |
Punjabi
Vaani (F)
ਹਾਏ! ਕੰਮ ਦੇ ਲੰਬੇ ਤਣਾਅ ਤੋਂ ਬਾਅਦ ਜਦੋਂ ਤੁਸੀਂ ਪਹਾੜਾਂ ਤੇ ਜਾਣ ਦੀ ਯੋਜਨਾ ਬਣਾਉਂਦੇ ਹੋ ਜਾਂ ਪੰਜਾਬ ਦੇ 12 ਮੇਲਿਆਂ ਤੇ ਜਾਣ ਬਾਰੇ ਚਰਚਾ ਕਰਦੇ ਹੋ ਤੇ ਜੇ ਕੋਈ ਕੇਹ ਦੇ ਕਿ “ਚਲੋ ਚੱਲੀਏ” ਤਾਂ ਆਪਣੇ ਆਪ ਮੂੰਹੋਂ ਨਿਕਲਦਾ ਹੈ, ਵਾਹ! ਸਵਾਦ ਆ ਗਿਆ।
Punjabi
Ojas (M)
ਕੀ ਤੁਸੀ ਜਾਣਦੇ ਹੋ? ਪੰਜਾਬ ਦੇ ਰਵਾਇਤੀ ਨਾਚ ਦੇ ਰੂਪਾਂ ਨੂੰ ਅੰਤਰਰਾਸ਼ਟਰੀ ਮਾਨਤਾ ਮਿਲ ਰਹੀ ਹੈ। ਸਾਨੂੰ ਆਪਣੇ ਅਮੀਰ ਸੱਭਿਆਚਾਰਕ ਵਿਰਸੇ ਤੇ ਮਾਣ ਹੈ। ਇਹ ਜੋਸ਼ੀਲੇ ਅਤੇ ਊਰਜਾ ਵਾਲੇ ਨਾਚ ਦਰਸ਼ਕਾਂ ਨੂੰ ਆਕਰਸ਼ਿਤ ਕਰ ਰਹੇ ਹਨ। ਅੰਤਰਰਾਸ਼ਟਰੀ ਸਟੇਜ ‘ਤੇ ਪ੍ਰਸ਼ੰਸਾ ਹੁੰਦੀ ਦੇਖਣਾ ਬਹੁਤ ਵਧੀਆ ਹੈ। ਨੱਚਦੇ ਰਹੋ, ਪੰਜਾਬ!
Tech note
We used several innovative techniques to create this set of voices.
Styles in Neerja and Swara: In addition to the existing Default style, we have incorporated style inputs and training data to generate speech in 3 more styles: Cheerful, Newscast and Empathetic, which can be used based on the business requirement.
New bilingual en-IN and hi-IN voices: We utilized advanced bilingual lexicon and acoustic modelling techniques to enable seamless transitions between English and Hindi words to build new voices each with a unique persona.
New Indian locales: We utilized high quality data for each of these locales to build TTS voices, leveraging the latest technological advancements in modelling, such as DelightfulTTS2 and MuLanTTS.
Get started
Microsoft offers over 400 neural voices covering more than 140 languages and locales. With these Text-to-Speech voices, you can quickly add read-aloud functionality for a more accessible app design or give a voice to chatbots to provide a richer conversational experience to your users. In addition, with the Custom Neural Voice capability, you can easily create a brand voice for your business with professional voice clone.
For more information
Try our demo to listen to existing neural voices
Add Text-to-Speech to your apps today
Apply for access to Custom Neural Voice
Join Discord to collaborate and share feedback
Microsoft Tech Community – Latest Blogs –Read More
Using the Get-RecoverableItems Cmdlet to Report Recoverable Items
A Different Way to Report Items Stored in Recoverable Items
Yesterday’s article about reporting items stored in the Recoverable Items structure in mailboxes provoked some questions. Some were surprised that it is possible for administrators to get this level of detail about retained items from user mailboxes, but the items are the same kind that users process, so the APIs work as well for the items held in Recoverable Items as they do for folders like the inbox, sent items, and so on. On a serious note, RBAC for applications is the best way to curtail application access to sensitive mailboxes, including whatever they hold in Recoverable Items.
One of my MVP colleagues pointed out that a lot of the information I discussed could be retrieved using the Get-RecoverableItems cmdlet. That’s true, if you are only interested in certain item properties and certain folders. Using the Graph APIs supports full access to item properties in all folders, and that’s where the major advantage lies.
Let me explain what I mean. Microsoft built the Get-RecoverableItems cmdlet to allow administrators to recover items on behalf of users. The recovered items go back into the parent folder from where they were deleted. The intention behind the cmdlet is that it is used in tandem with the Restore-RecoverableItems cmdlet. In other words, the items found by Get-RecoverableItems can be restored by Restore-RecoverableItems.
Creating a Script Based on Get-RecoverableItems
Getting back to the point in hand, the observation made was that you could use Get-RecoverableItems to retrieve item information for reporting purposes, just like I did with the Graph. However, the available data is different. This might or might not be a problem.
To illustrate the issue, I created a version of the script using Get-RecoverableItems. You can download the script from GitHub. The script:
Connects to Exchange Online. You must use an account that holds the Exchange mailbox import-export role as this is required to run the Get-RecoverableItems cmdlet.
Finds user mailboxes.
Runs Get-RecoverableItems for each mailbox to find items in the Deletions folder in Recoverable Items for the last year. By default, Get-RecoverableItems fetches items from Deleted Items, Deletions, and Purges. The Graph-based version of the script only processes Recoverable Items folders including Versions and SubstrateHolds that aren’t exposed to Get-RecoverableItems.
Create a report of the results (Figure 1) and export the results to a CSV file.
Different Data Reported
Looking at the data shown in Figure 1, some of the item properties are common with those available via the Graph SDK (mailbox name and item subject). The last modified time is in U.S. format, so the script reformats the date. The last parent property is the folder that the item was deleted from, and the item class is the MAPI type. Looking at the items returned from my mailbox, I see the following types (IPM.Note is a regular message).
$Items | Group-Object ItemClass -NoElement | Sort-Object Count | Format-Table Name, Count
Name Count
—- —–
IPM.Schedule.Meeting.Resp.Tent 1
IPM.Task 1
IPM.Note.Rules.OofTemplate.Microsoft 3
IPM.Note.SMIME.MultipartSigned 4
IPM.Schedule.Meeting.Canceled 9
IPM.Post.Rss 27
IPM.Schedule.Meeting.Resp.Pos 27
REPORT.IPM.Note.NDR 89
IPM.Schedule.Meeting.Request 92
IPM.Appointment 180
IPM.Note 4305
The properties for a full item returned by Get-RecoverableItems looks like this:
LastParentPath : CalendarPlanner-Microsoft 365 Message Center
LastParentFolderID : 37B5390C4C3298448EB307D556E7D40D000392D3F3B3
OriginalFolderExists : True
Identity : Tony.Redmond@office365itopros.com
MailboxIdentity : a662313f-14fc-43a2-9a7a-d2e27f4f3478370f354-2752-4437-878d-cf0e5310a8d4
ItemClass : IPM.Appointment
Subject : [Microsoft 365 for the web] (Updated) Loop components in Microsoft OneNote [MC777847]
PolicyTag : 59c7aa03-6579-4008-b484-e8ed327c3b69
EntryID : 000000007EEC82E914DC7C4EB92D68AF156167AB07005EF42BB02DCD9F4CAED6E3A2F5480A7D000000DA5215000037B5390C4C3298448EB307D556E7D40D00078B11E96B0000
SourceFolder : Recoverable ItemsDeletions
LastModifiedTime : 08/16/2024 21:15:03
IsValid : True
ObjectState : New
The properties for an item returned by the Graph looks like this. Many of the properties are blank because I did not fetch the information.
Attachments :
BccRecipients :
Body : Microsoft.Graph.PowerShell.Models.MicrosoftGraphItemBody
BodyPreview :
Categories :
CcRecipients :
ChangeKey :
ConversationId :
ConversationIndex :
CreatedDateTime : 12/09/2024 16:53:39
Extensions :
Flag : Microsoft.Graph.PowerShell.Models.MicrosoftGraphFollowupFlag
From : Microsoft.Graph.PowerShell.Models.MicrosoftGraphRecipient
HasAttachments :
Id : AAMkADAzNzBmMzU0LTI3NTItNDQzNy04NzhkLWNmMGU1MzEwYThkNABGAAAAAAB_7ILpFNx8TrktaK8VYWerBwBe9CuwLc2fTK7W46L1SAp9AAAA2lIaAAA3tTkMTDKYRI6zB9VW59QNAAechaYpAAA=
Importance :
InferenceClassification :
InternetMessageHeaders :
InternetMessageId :
IsDeliveryReceiptRequested :
IsDraft :
IsRead :
IsReadReceiptRequested :
LastModifiedDateTime :
MultiValueExtendedProperties :
ParentFolderId :
ReceivedDateTime :
ReplyTo :
Sender : Microsoft.Graph.PowerShell.Models.MicrosoftGraphRecipient
SentDateTime :
SingleValueExtendedProperties : {Long 0xe08}
Subject : Undeliverable: Size limit for HVE
ToRecipients :
UniqueBody : Microsoft.Graph.PowerShell.Models.MicrosoftGraphItemBody
WebLink :
AdditionalProperties : {[@odata.etag, W/”FwAAABYAAAA3tTkMTDKYRI6zB9VW59QNAAeYsZ/A”]}
It’s obvious that the two sets of properties are very different. Because the Graph provides data to clients, the Graph set includes the item body and a body preview together with a bunch of flags for the item status, like isRead or isDraft. The set includes a single value extended property for the item size. By comparison, the set retrieved by Get-RecoverableItems are designed to help a user or administrator decide which items to restore and no more.
The Bottom Line
Two methods are available to tenant administrators who need to know about the items held in the Recoverable Items structure. The Graph API can reveal more information about individual items, especially the actual content of an item, but the Get-RecoverableItems cmdlet is a viable candidate to use if you only need to know bare details like the sender, date, and subject. Isn’t it nice to have choice!
Insight like this doesn’t come easily. You’ve got to know the technology and understand how to look behind the scenes. Benefit from the knowledge and experience of the Office 365 for IT Pros team by subscribing to the best eBook covering Office 365 and the wider Microsoft 365 ecosystem.
Applying Policies in a Workgroup Environment with Intune
Hello Everyone,
I have a question regarding policy enforcement in a workgroup environment where devices are enrolled into Intune (e.g., via package provisioning). In this scenario, users continue to log in with their local accounts/profiles on Windows rather than using Azure AD accounts.
Do we need to configure all policies to target devices only, given that the users aren’t logging in with Azure AD accounts?
If policies are assigned to AAD users, will they be applied, or will they be ignored because users are logging in with their local accounts?
Your guidance and insights on the best approach for managing policies in this setup would be greatly appreciated.
Thank you
Hello Everyone,I have a question regarding policy enforcement in a workgroup environment where devices are enrolled into Intune (e.g., via package provisioning). In this scenario, users continue to log in with their local accounts/profiles on Windows rather than using Azure AD accounts. Do we need to configure all policies to target devices only, given that the users aren’t logging in with Azure AD accounts?If policies are assigned to AAD users, will they be applied, or will they be ignored because users are logging in with their local accounts? Your guidance and insights on the best approach for managing policies in this setup would be greatly appreciated.Thank you Read More
How to upgrade my outlook account to modern authentication method?
SMTPNotSupportedError – SMTP AUTH extension not supported by server. showing this error when I send a mail from my website. how to upgrade my account from basic authentication to medern authentication?
SMTPNotSupportedError – SMTP AUTH extension not supported by server. showing this error when I send a mail from my website. how to upgrade my account from basic authentication to medern authentication? Read More
What is the Windows Sandbox?
I saw this picture from another post and it is the first time I heard about Windows sandbox. What does it do?
I saw this picture from another post and it is the first time I heard about Windows sandbox. What does it do? Read More
Powershell Script to extract Azure VM Metrics data
Hi Community, hope you are doing well.
I am currently playing around with powershell scripting and trying to extract Azure VM utilization data using Get-AzMetric powershell module. I am trying to extract VM metrics through my script for all VMs in my current subscription (free trial) and outputting the same to a csv file. I can see the data getting extracted when I run in console but when I run the script I am unable to see the data getting outputted to my csv file. Please find below my script:
# Modules importation
#$modules = ‘Az.Accounts’,’Az.Compute’, ‘Az.Reservations’ , ‘Az.Storage’ , ‘Az.Billing’ ,’Az.BillingBenefits’ ,’Az.Monitor’,’Az.ResourceGraph’, ‘Join-Object’ ,’PSExcel’ ,’Az.Resources’, ‘Az.CostManagement’,’ImportExcel’ # PS Module required
#Install-Module -Name $modules -Scope CurrentUser -Force
#Powershell-5.1
# Suppress breaking changes
Set-Item Env:SuppressAzurePowerShellBreakingChangeWarnings “true” # Connect to Azure
Connect-AzAccount
# Name of the analyze
[void][Reflection.Assembly]::LoadWithPartialName(‘Microsoft.VisualBasic’)
$title = ‘ Azure VM Usage’
$msg = ‘Please enter the name of the analyze:’
$checklistname = [Microsoft.VisualBasic.Interaction]::InputBox($msg, $title)
# Subscription(s) selection – CTRL & click to select more than 1 subscription
$subquery = (Get-AzSubscription | Out-GridView -Title “Select an Azure Subscription” -PassThru)
$sub = $subquery.Id
Write-Host “Subscription(s) selected: $sub” -ForegroundColor Green
# Creation of the directroy
New-Item -Path “c:” -Name “Azurecost$checklistname” -ItemType “directory” -force
set-location c:azurecost$checklistname
#$csvFileVM = New-Object System.IO.StreamWriter(“c:azurecost$checklistnameVM-Usage.csv”)
#$csvFileVM.WriteLine(“Name, Id, ResourceGroup, MaxCPU”)
foreach ($subscription in $sub) {
# Set the subscription context
Set-AzContext -Subscription $subscription
$vms = Get-AzVM
$vmUtilizationData = @()
# Loop through each VM to get utilization metrics
foreach ($vm in $vms) {
$vmName = $vm.Name
$resourceId = $vm.Id
$Resourcegroup = $vm.ResourceGroupName
# Get metrics for the VM (e.g., CPU Percentage)
$metric = Get-AzMetric -ResourceId $resourceId -MetricName “Percentage CPU” -TimeGrain 12:00:00 -StartTime (Get-Date).AddDays(-3) -EndTime (Get-Date)
$MaxCPU = $metric.data.maximum | Measure-Object -Maximum | Select-Object -property Maximum
#$csvFileVM.WriteLine(” $MaxCPU”)
$vmUtilizationData += [PSCustomObject]@{
VMName = $vmName
ResourceGroup = $Resourcegroup
MaxCPU = $MaxCPU
}
}
}
$vmUtilizationData | Export-Csv -Path “c:Azurecost$checklistnameVMUsage.csv” -NoTypeInformation
Write-Host “Your script has finished running.”
pause
Hi Community, hope you are doing well. I am currently playing around with powershell scripting and trying to extract Azure VM utilization data using Get-AzMetric powershell module. I am trying to extract VM metrics through my script for all VMs in my current subscription (free trial) and outputting the same to a csv file. I can see the data getting extracted when I run in console but when I run the script I am unable to see the data getting outputted to my csv file. Please find below my script: # Modules importation
#$modules = ‘Az.Accounts’,’Az.Compute’, ‘Az.Reservations’ , ‘Az.Storage’ , ‘Az.Billing’ ,’Az.BillingBenefits’ ,’Az.Monitor’,’Az.ResourceGraph’, ‘Join-Object’ ,’PSExcel’ ,’Az.Resources’, ‘Az.CostManagement’,’ImportExcel’ # PS Module required
#Install-Module -Name $modules -Scope CurrentUser -Force
#Powershell-5.1
# Suppress breaking changes
Set-Item Env:SuppressAzurePowerShellBreakingChangeWarnings “true” # Connect to Azure
Connect-AzAccount
# Name of the analyze
[void][Reflection.Assembly]::LoadWithPartialName(‘Microsoft.VisualBasic’)
$title = ‘ Azure VM Usage’
$msg = ‘Please enter the name of the analyze:’
$checklistname = [Microsoft.VisualBasic.Interaction]::InputBox($msg, $title)
# Subscription(s) selection – CTRL & click to select more than 1 subscription
$subquery = (Get-AzSubscription | Out-GridView -Title “Select an Azure Subscription” -PassThru)
$sub = $subquery.Id
Write-Host “Subscription(s) selected: $sub” -ForegroundColor Green
# Creation of the directroy
New-Item -Path “c:” -Name “Azurecost$checklistname” -ItemType “directory” -force
set-location c:azurecost$checklistname
#$csvFileVM = New-Object System.IO.StreamWriter(“c:azurecost$checklistnameVM-Usage.csv”)
#$csvFileVM.WriteLine(“Name, Id, ResourceGroup, MaxCPU”)
foreach ($subscription in $sub) {
# Set the subscription context
Set-AzContext -Subscription $subscription
$vms = Get-AzVM
$vmUtilizationData = @()
# Loop through each VM to get utilization metrics
foreach ($vm in $vms) {
$vmName = $vm.Name
$resourceId = $vm.Id
$Resourcegroup = $vm.ResourceGroupName
# Get metrics for the VM (e.g., CPU Percentage)
$metric = Get-AzMetric -ResourceId $resourceId -MetricName “Percentage CPU” -TimeGrain 12:00:00 -StartTime (Get-Date).AddDays(-3) -EndTime (Get-Date)
$MaxCPU = $metric.data.maximum | Measure-Object -Maximum | Select-Object -property Maximum
#$csvFileVM.WriteLine(” $MaxCPU”)
$vmUtilizationData += [PSCustomObject]@{
VMName = $vmName
ResourceGroup = $Resourcegroup
MaxCPU = $MaxCPU
}
}
}
$vmUtilizationData | Export-Csv -Path “c:Azurecost$checklistnameVMUsage.csv” -NoTypeInformation
Write-Host “Your script has finished running.”
pause Please help me understand what am I missing here since other details like VM name, Resource group name are getting outputted to my csv file through this script except the metric values. Read More
Microsoft and BlackRock unveil a $30 billion fund for AI infrastructure development.
The collaboration reflects growing interest from major tech and investment firms in capitalizing on AI’s potential. The fund will focus on improving AI’s infrastructure, making it more scalable and robust for future innovations.
How will Microsoft’s cloud services, such as Azure, contribute to supporting the AI infrastructure?
The collaboration reflects growing interest from major tech and investment firms in capitalizing on AI’s potential. The fund will focus on improving AI’s infrastructure, making it more scalable and robust for future innovations. How will Microsoft’s cloud services, such as Azure, contribute to supporting the AI infrastructure? Read More
Question re: Hyper-V External Switch for SET Switch Embedded Team
Hi All,
Is the following the best practice / correct way to configure VMSwitches on a bare metal server?
It will consist of 2 x VMs (VM#1 DC, VM#2 File/Print)
I have an HPE DL380 Gen11 and the Hyper-V Role installed, with the following interfaces:
Get-NetAdapter
Name InterfaceDescription ifIndex Status
—- ——————– ——- ——
PCIe Slot 15 Port 1 Broadcom NetXtreme Gigabit Ethernet 11 Up
PCIe Slot 15 Port 2 Broadcom NetXtreme Gigabit Ethernet #2 8 Up
PCIe Slot 15 Port 3 Broadcom NetXtreme Gigabit Ethernet #3 9 Up
PCIe Slot 15 Port 4 Broadcom NetXtreme Gigabit Ethernet #4 6 Up
vEthernet (Hyper V Swi… Hyper-V Virtual Ethernet Adapter 2 Up
Just configure the PCIe Slot 15 Port 1 Broadcom NetXtreme Gigabit Ethernet as a normal physical NIC
Assign TCP/IP configuration as normal
No need to create a “Management OS” VSwitch and “Allow management operating system to share this network adapter”
Remaining NICs for VM traffic using SET:
PCIe Slot 15 Port 2
Broadcom NetXtreme Gigabit Ethernet#2
PCIe Slot 15 Port 3
Broadcom NetXtreme Gigabit Ethernet3
PCIe Slot 15 Port 4
Broadcom NetXtreme Gigabit Ethernet#4
Create a NewVMSwtich Switch Embedded Teaming (SET)
New-VMSwitch -Name “SET-Team” -NetAdapterName “PCIe Slot 15 Port 2″,”PCIe Slot 15 Port 3″,”PCIe Slot 15 Port 4” -EnableEmbeddedTeaming $true -AllowManagementOS $false
Set-VMSwitchTeam -Name “SET-Team” -LoadBalancingAlgorithm Dynamic
Get-VMSwitchTeam -Name “SET-Team” | FL
Get-VMSwitch
The SET-TEAM VMSwitch is used by the VMs for VM traffic,as it is best practice to isolate VM traffic from management traffic.
We dont “Allow the management OS to share this network adapter” as it can lead to resource contention and degraded performance for both the VMs and the management OS.
Distribution Modes
We have a choice of 2 LB distribution modes for SET Teams
Hyper-V Port
Dynamic
We use Dynamic as “Hyper-V port mode is not the best if you are only hosting a few VMs due to it not being granular enough to achieve a well-balanced distribution”
Thanks!
Hi All,Is the following the best practice / correct way to configure VMSwitches on a bare metal server? It will consist of 2 x VMs (VM#1 DC, VM#2 File/Print)I have an HPE DL380 Gen11 and the Hyper-V Role installed, with the following interfaces:Get-NetAdapterName InterfaceDescription ifIndex Status—- ——————– ——- ——PCIe Slot 15 Port 1 Broadcom NetXtreme Gigabit Ethernet 11 UpPCIe Slot 15 Port 2 Broadcom NetXtreme Gigabit Ethernet #2 8 UpPCIe Slot 15 Port 3 Broadcom NetXtreme Gigabit Ethernet #3 9 UpPCIe Slot 15 Port 4 Broadcom NetXtreme Gigabit Ethernet #4 6 UpvEthernet (Hyper V Swi… Hyper-V Virtual Ethernet Adapter 2 UpJust configure the PCIe Slot 15 Port 1 Broadcom NetXtreme Gigabit Ethernet as a normal physical NICAssign TCP/IP configuration as normalNo need to create a “Management OS” VSwitch and “Allow management operating system to share this network adapter” Remaining NICs for VM traffic using SET:PCIe Slot 15 Port 2Broadcom NetXtreme Gigabit Ethernet#2PCIe Slot 15 Port 3Broadcom NetXtreme Gigabit Ethernet3PCIe Slot 15 Port 4Broadcom NetXtreme Gigabit Ethernet#4Create a NewVMSwtich Switch Embedded Teaming (SET)New-VMSwitch -Name “SET-Team” -NetAdapterName “PCIe Slot 15 Port 2″,”PCIe Slot 15 Port 3″,”PCIe Slot 15 Port 4” -EnableEmbeddedTeaming $true -AllowManagementOS $falseSet-VMSwitchTeam -Name “SET-Team” -LoadBalancingAlgorithm DynamicGet-VMSwitchTeam -Name “SET-Team” | FLGet-VMSwitchThe SET-TEAM VMSwitch is used by the VMs for VM traffic,as it is best practice to isolate VM traffic from management traffic.We dont “Allow the management OS to share this network adapter” as it can lead to resource contention and degraded performance for both the VMs and the management OS.Distribution ModesWe have a choice of 2 LB distribution modes for SET TeamsHyper-V PortDynamicWe use Dynamic as “Hyper-V port mode is not the best if you are only hosting a few VMs due to it not being granular enough to achieve a well-balanced distribution”Thanks! Read More
Does any now how to reset admin password for Microsoft 365 Developer Program
Hi All,
I created my developer account a while ago .. and somehow I cannot remember what it is the admin password.
Support on developer program page redirect to https://serviceshub.microsoft.com/home
BUT, I cant login either there with my regular email account
Any suggestion?
Thanks
Hi All,I created my developer account a while ago .. and somehow I cannot remember what it is the admin password.Support on developer program page redirect to https://serviceshub.microsoft.com/homeBUT, I cant login either there with my regular email accountAny suggestion?Thanks Read More
How to Automatically make Outlook Calendar Events into Microsoft Bookings appointment
I am looking for a way to integrate Microsoft Outlook Calendar with Microsoft Bookings so that whenever I create an event in Outlook, a booking is automatically created in Bookings. Has anyone implemented this?
I am looking for a way to integrate Microsoft Outlook Calendar with Microsoft Bookings so that whenever I create an event in Outlook, a booking is automatically created in Bookings. Has anyone implemented this? Read More
Synchronizing OneDrive via guest access in another company.
One user of our company (company1) has an account (email address removed for privacy reasons) on the Office 365 portal.
Multifactor authentication (MFA) is used for authentication; when logging in, the user enters a temporary code into the application on their phone.
With this account the user logs into the portal (company1.sharepoint.com), where he can access the documents stored there.
This user has OneDrive, which successfully synchronizes documents from the company1.sharepoint.com portal to their PC.
There is a second company (company2), which has provided guest access to this user to its portal (company2.sharepoint.com).
The user also successfully logs into the company2.sharepoint.com portal and can also access the documents stored there.
But, when trying to synchronize documents on the company2.sharepoint.com portal via OneDrive, the user receives the message: “Sorry, OneDrive can’t add your folder right now”.
Please help me to find a solution of this problem.
One user of our company (company1) has an account (email address removed for privacy reasons) on the Office 365 portal.Multifactor authentication (MFA) is used for authentication; when logging in, the user enters a temporary code into the application on their phone.With this account the user logs into the portal (company1.sharepoint.com), where he can access the documents stored there.This user has OneDrive, which successfully synchronizes documents from the company1.sharepoint.com portal to their PC.There is a second company (company2), which has provided guest access to this user to its portal (company2.sharepoint.com).The user also successfully logs into the company2.sharepoint.com portal and can also access the documents stored there.But, when trying to synchronize documents on the company2.sharepoint.com portal via OneDrive, the user receives the message: “Sorry, OneDrive can’t add your folder right now”.Please help me to find a solution of this problem. Read More
Format a Picture in MS Word
I am trying to write a simple macro to select an image, inserted it into Word, and then format it. I’ve cobbled together some code which sizes it properly but does not set the Wrap Text to “tight” correctly. Can anyone help me fix this issue?
Sub FormatImage()
‘ FormatImage Macro
‘
Dim fileSelected As Variant
Dim fileOpenDialog As FileDialog
Dim newPicture As InlineShape
Set fileOpenDialog = Application.FileDialog(msoFileDialogOpen)
Selection.Delete
‘Unit:=wdCharacter, Count:=1
With fileOpenDialog
.AllowMultiSelect = False
.Filters.Add “Images”, “*.gif; *.jpg; *.jpeg”, 1
If .Show = -1 Then
fileSelected = .SelectedItems(1)
Else
Exit Sub
End If
End With
Set newPicture = Selection.InlineShapes.AddPicture(FileName:=fileSelected, LinkToFile:=False, SaveWithDocument:=True)
With newPicture
.LockAspectRatio = msoFalse
.Height = InchesToPoints(1.25)
.Width = InchesToPoints(0.85)
End With
If Selection.ShapeRange.Count = 0 Then
If Selection.InlineShapes.Count = 1 Then
Selection.InlineShapes(1).ConvertToShape
Else
MsgBox “Select a picture first.”, , “Oops!”
End If
End If
With Selection.ShapeRange(1)
With .WrapFormat
.Type = wdWrapTight
End With
End With
End Sub
I am trying to write a simple macro to select an image, inserted it into Word, and then format it. I’ve cobbled together some code which sizes it properly but does not set the Wrap Text to “tight” correctly. Can anyone help me fix this issue? Sub FormatImage()’ FormatImage Macro’Dim fileSelected As VariantDim fileOpenDialog As FileDialogDim newPicture As InlineShapeSet fileOpenDialog = Application.FileDialog(msoFileDialogOpen)Selection.Delete’Unit:=wdCharacter, Count:=1With fileOpenDialog.AllowMultiSelect = False.Filters.Add “Images”, “*.gif; *.jpg; *.jpeg”, 1If .Show = -1 ThenfileSelected = .SelectedItems(1)ElseExit SubEnd IfEnd WithSet newPicture = Selection.InlineShapes.AddPicture(FileName:=fileSelected, LinkToFile:=False, SaveWithDocument:=True)With newPicture.LockAspectRatio = msoFalse.Height = InchesToPoints(1.25).Width = InchesToPoints(0.85)End WithIf Selection.ShapeRange.Count = 0 ThenIf Selection.InlineShapes.Count = 1 ThenSelection.InlineShapes(1).ConvertToShapeElseMsgBox “Select a picture first.”, , “Oops!”End IfEnd IfWith Selection.ShapeRange(1)With .WrapFormat.Type = wdWrapTightEnd WithEnd WithEnd Sub Read More
Hyper-V External Switches (Management and SET)
Hi All,
Is the following the best practice / correct way to configure VMSwitches on a bare metal server?
It will consist of 2 x VMs (VM#1 DC, VM#2 File/Print)
I have an HPE DL380 Gen11 and the Hyper-V Role installed, with the following interfaces:
Get-NetAdapter
Name InterfaceDescription ifIndex Status
—- ——————– ——- ——
PCIe Slot 15 Port 1 Broadcom NetXtreme Gigabit Ethernet 11 Up
PCIe Slot 15 Port 2 Broadcom NetXtreme Gigabit Ethernet #2 8 Up
PCIe Slot 15 Port 3 Broadcom NetXtreme Gigabit Ethernet #3 9 Up
PCIe Slot 15 Port 4 Broadcom NetXtreme Gigabit Ethernet #4 6 Up
vEthernet (Hyper V Swi… Hyper-V Virtual Ethernet Adapter 2 Up
Dedicate the management OS to a Hyper-V Switch for traffic isolation.
Management OS
PCIe Slot 15 Port 1
Broadcom NetXtreme Gigabit Ethernet
Remainder for VM traffic using SET:
PCIe Slot 15 Port 2
Broadcom NetXtreme Gigabit Ethernet#2
PCIe Slot 15 Port 3
Broadcom NetXtreme Gigabit Ethernet3
PCIe Slot 15 Port 4
Broadcom NetXtreme Gigabit Ethernet#4
Create New VMSwitch for the Hyper-V Host Management OS
New-VMSwitch -Name “Management OS” -NetAdapterName “PCIe Slot 15 Port 1” -AllowManagementOS $true
We set “Allow management operating system to share this network adapter” as this virtual switch is dedicated to management traffic.
The Hyper-V host should have access to this adapter for administrative purposes.
Next, Create a NewVMSwtich Switch Embedded Teaming (SET)
New-VMSwitch -Name “SET-Team” -NetAdapterName “PCIe Slot 15 Port 2″,”PCIe Slot 15 Port 3″,”PCIe Slot 15 Port 4” -EnableEmbeddedTeaming $true -AllowManagementOS $false
Set-VMSwitchTeam -Name “SET-Team” -LoadBalancingAlgorithm Dynamic
Get-VMSwitchTeam -Name “SET-Team” | FL
Get-VMSwitch
The SET-TEAM VMSwitch is used by the VMs for VM traffic,as it is best practice to isolate VM traffic from management traffic.
We dont “Allow the management OS to share this network adapter” as it can lead to resource contention and degraded performance for both the VMs and the management OS.
Distribution Modes
We have a choice of 2 LB distribution modes for SET Teams
Hyper-V Port
Dynamic
We use Dynamic as “Hyper-V port mode is not the best if you are only hosting a few VMs due to it not being granular enough to achieve a well-balanced distribution”
Configuring TCP/IP
Configure TCP/IP for the Virtual NIC vEthernet (Hyper-V Server Management OS)
The physical NIC is now bound to the virtual switch and does not handle TCP/IP directly.
Do not assign or configure TCP/IP for the Physical NIC (PCIe Slot 14 Port 1) as it is now part of the virtual switch.
Thanks!
Hi All,Is the following the best practice / correct way to configure VMSwitches on a bare metal server? It will consist of 2 x VMs (VM#1 DC, VM#2 File/Print)I have an HPE DL380 Gen11 and the Hyper-V Role installed, with the following interfaces:Get-NetAdapterName InterfaceDescription ifIndex Status—- ——————– ——- ——PCIe Slot 15 Port 1 Broadcom NetXtreme Gigabit Ethernet 11 UpPCIe Slot 15 Port 2 Broadcom NetXtreme Gigabit Ethernet #2 8 UpPCIe Slot 15 Port 3 Broadcom NetXtreme Gigabit Ethernet #3 9 UpPCIe Slot 15 Port 4 Broadcom NetXtreme Gigabit Ethernet #4 6 UpvEthernet (Hyper V Swi… Hyper-V Virtual Ethernet Adapter 2 UpDedicate the management OS to a Hyper-V Switch for traffic isolation.Management OSPCIe Slot 15 Port 1Broadcom NetXtreme Gigabit EthernetRemainder for VM traffic using SET:PCIe Slot 15 Port 2Broadcom NetXtreme Gigabit Ethernet#2PCIe Slot 15 Port 3Broadcom NetXtreme Gigabit Ethernet3PCIe Slot 15 Port 4Broadcom NetXtreme Gigabit Ethernet#4Create New VMSwitch for the Hyper-V Host Management OSNew-VMSwitch -Name “Management OS” -NetAdapterName “PCIe Slot 15 Port 1” -AllowManagementOS $trueWe set “Allow management operating system to share this network adapter” as this virtual switch is dedicated to management traffic.The Hyper-V host should have access to this adapter for administrative purposes.Next, Create a NewVMSwtich Switch Embedded Teaming (SET)New-VMSwitch -Name “SET-Team” -NetAdapterName “PCIe Slot 15 Port 2″,”PCIe Slot 15 Port 3″,”PCIe Slot 15 Port 4” -EnableEmbeddedTeaming $true -AllowManagementOS $falseSet-VMSwitchTeam -Name “SET-Team” -LoadBalancingAlgorithm DynamicGet-VMSwitchTeam -Name “SET-Team” | FLGet-VMSwitchThe SET-TEAM VMSwitch is used by the VMs for VM traffic,as it is best practice to isolate VM traffic from management traffic.We dont “Allow the management OS to share this network adapter” as it can lead to resource contention and degraded performance for both the VMs and the management OS.Distribution ModesWe have a choice of 2 LB distribution modes for SET TeamsHyper-V PortDynamicWe use Dynamic as “Hyper-V port mode is not the best if you are only hosting a few VMs due to it not being granular enough to achieve a well-balanced distribution”Configuring TCP/IPConfigure TCP/IP for the Virtual NIC vEthernet (Hyper-V Server Management OS)The physical NIC is now bound to the virtual switch and does not handle TCP/IP directly.Do not assign or configure TCP/IP for the Physical NIC (PCIe Slot 14 Port 1) as it is now part of the virtual switch.Thanks! Read More
Move Hybrid Joined devices to new tenant
I have a customer who wants to switch over the tenant due to some merger he has already moved the data of EXO and SPO and domain cutover is pending due to Hybrid Joined devices planning are not yet done. Customer has 1000 devices
So can anyone please help us understanding the process of switching over the tenant during weekend.
Customer is open to do the POC but the end user impact should be NO or minimum.
Any suggestions are highly appreciated.
I have a customer who wants to switch over the tenant due to some merger he has already moved the data of EXO and SPO and domain cutover is pending due to Hybrid Joined devices planning are not yet done. Customer has 1000 devices So can anyone please help us understanding the process of switching over the tenant during weekend.Customer is open to do the POC but the end user impact should be NO or minimum.Any suggestions are highly appreciated. Read More
Failover cluster without pausing node
Hi all,
We have 2 Exchange 2019 servers in a DAG (Primary and DR sites). Server 2022.
We have one witness server which is in the same datacentre as the Exchange server at the primary site.
Whenever the witness server is rebooted, failover clustering changes the DAG DNS object to point to the DR site. Both nodes stay up.
First of all, can someone advise why this is the case? Both Exchange servers have communication at all times and the cluster is healthy.
Secondly, is there a way to failback the cluster without pausing the DR node? I usually Pause and Drain Roles on the DR Exchange node, then Resume without failing the roles back.
thanks
jc
Hi all, We have 2 Exchange 2019 servers in a DAG (Primary and DR sites). Server 2022. We have one witness server which is in the same datacentre as the Exchange server at the primary site. Whenever the witness server is rebooted, failover clustering changes the DAG DNS object to point to the DR site. Both nodes stay up. First of all, can someone advise why this is the case? Both Exchange servers have communication at all times and the cluster is healthy. Secondly, is there a way to failback the cluster without pausing the DR node? I usually Pause and Drain Roles on the DR Exchange node, then Resume without failing the roles back. thanks jc Read More
How you turn off this reminder all the time I open up Todo App on Android
How you turn off this reminder all the time I open up Todo App on Android, I got all the app notification off and every time I use this app it want to ask me to turn on notifications so annoying.
I have Android device in the app setting turned off for in app notifications but this one seem to be a feature within the app
How you turn off this reminder all the time I open up Todo App on Android, I got all the app notification off and every time I use this app it want to ask me to turn on notifications so annoying.I have Android device in the app setting turned off for in app notifications but this one seem to be a feature within the app Read More