Month: January 2024
Unlock the Power of Video at Work and School: 6 Features to Use in Microsoft Stream
Microsoft Stream is a powerful video platform that allows you to create, share, and view videos securely at work or school. What’s more, Stream powers the video experience across Microsoft 365, letting you add or view videos directly in the apps you use every day. With features such as sharing, captions, transcriptions, translations, chapters, search, and comments, and embedded forms Stream makes it easy to quickly convey or extract information from video.
There are many ways that organizations use Stream. For example, schools use Stream to share orientation information or for lecture capture, while businesses use it to create and share leadership updates, how-to videos, and onboarding videos. Your journey with video begins at the Stream start page where you can view, search, or create videos. However you use video in your organization, it’s always good to know some of the fundamental features that make working with video simple and productive. Here are six tips for using video at work or school:
Share videos with anyone
Whether you just created a video or viewed one on the Stream start page, you can share it with people both inside and outside your organization. To share internally, simply tap the share button, copy the link and drop it into an email or Teams chat. If your organization has external file sharing enabled, you can change your link type to “anyone with the link” and send the link to anyone. The sharing feature makes it easy to send videos or communicate on a personal level inside and outside of your organization.
Know what’s working with video analytics
Once you have created and shared a video you may want to understand how well it’s performing. Using video analytics you can see visitors over time, trends in views, and even which parts of the video are hot spots. Analytics can also show you which type of content performs best within your organization. To view analytics for videos you own, or have edit access to, open the video and select the Analytics tab in the right-hand pane. This feature helps you understand how your audience is engaging with your video content. Learn more.
Find video content with Microsoft Search
Finding a video within your organization is simple. Just go to office.com, enter your terms in the top search bar, then select Videos in the refinement bar under the search bar. This will return all the video content in your organization that matches the search terms and that you have access to. You can also search on the Stream start page or anywhere else across Microsoft 365. This feature makes it easy to find and access the videos you need. Learn more.
Use chapters to help viewers navigate within videos
With Stream, you can add chapters to your videos to help viewers easily see a breakdown of the content in the video and navigate to the parts they want to view. Adding chapters to a video also helps your video to show up in search for the specific terms used in your chapter names. Chapters are simple and they help your viewers quickly get the information they need from your video. Learn more.
Create playlists to organize and share video collections
Creating video playlists at work has two significant benefits. First, it lets you organize video content into categories or groups making it easier for you and viewers to see related content in one place. Second, it increases the discoverability of the videos in the playlist. And just like you can with individual videos, you can share playlists or embed them into SharePoint pages. This feature helps you organize and share related video content. Learn more.
Add video content to your docs, files, chat and emails
Did you know that you can copy and paste a video in many of the Microsoft 365 apps you use every day, including: Teams, Loop, OneNote, PowerPoint, Word, Viva Engage, SharePoint, and Whiteboard? Just copy the link to the video and paste it into your file. It’s that simple. Additionally, you can send video messages to people directly using Teams video clip and soon you’ll be able to record video messages directly in Outlook while composing an email. These features put video into the flow of everyday work, allowing you to create and view video directly in the files and apps you’re working in.
These are just six of the many ways you can use video at work and school to improve your productivity and collaboration. Interested in creating your first video on Stream? Watch How to make a video using Microsoft Stream.
Feedback
We welcome your feedback. Jump in and join the community:
• Add feature suggestions, ideas, and votes: https://aka.ms/StreamIdeas
• Get questions answered and connect with other in the community in our forum: https://aka.ms/StreamForum
• Sign up for Stream Insiders for opportunities to participate in user research about video in M365: https://ux.microsoft.com/Panel/StreamInsiders
• Sign up for customer office hours to ask questions to Stream product team: https://aka.ms/StreamConnect
Microsoft Tech Community – Latest Blogs –Read More
Enable your key business needs within Microsoft Sentinel with step-by-step guidance
Modernize your security operations center (SOC) with Microsoft Sentinel. Uncover sophisticated threats and respond decisively with an intelligent, comprehensive security information and event management (SIEM) solution for proactive threat detection, investigation, and response.
This lightweight guide quickly walks you through business needs related to modernizing your SOC. It helps you make the most of Microsoft security solutions by pointing you to specific training and technical documentation so you can:
Protect the digital estate
Detect issues quickly
Focus on what matters
Investigate with full context
Automate responses
Hunt and identify threats
Once you have reviewed the trainings available, we encourage you to take your learnings one step further by participating in the following:
Complete the 30 Days to Learn It Challenge for Security Operation Analyst
This learning journey has been designed to equip you with the necessary skills for effectively incorporating AI-driven security within your organization. In about 34 hours, you’ll learn how to minimize risks by swiftly addressing active attacks, suggesting threat protection improvements, and reporting policy violations to stakeholders. If you complete the challenge in 30 days, you will receive a discount voucher towards a certification.
Earn a credential with the new Applied Skill
Skill up for in-demand technical scenarios to demonstrate proficiency in specific, scenario-based skill sets so you can make a bigger impact on every project, at your organization, and in your career. To earn the credential, you must show the ability to set up and configure Microsoft Sentinel.
Take full advantage of the key resources by downloading the Modern SOC training guide to enhance your threat protection and response systems.
Microsoft Tech Community – Latest Blogs –Read More
Azure AI Speech launches new zero-shot TTS models for Personal Voice
At the Ignite conference on Nov 15, 2023, we announced the public preview of Personal Voice, which is specifically designed to enable customers to build apps that allow their users to easily create and use their own AI voices (see the blog).
Today we’re thrilled to announce that Azure AI Speech Service has upgraded its Personal Voice feature with new zero-shot TTS (text-to-speech) models. Compared to the initial model, these new models improve the naturalness of synthesized voices and better resemble the speech characteristics of the voice in the prompt.
In this blog, we’ll explore how new zero-shot TTS models enable users to create a more natural sounding voice that captures their unique speech characteristics. We’ll also provide a step-by-step guide on how to integrate the personal voice capability into your apps using the Personal Voice API with different zero-shot TTS models.
Zero-shot model upgrades
The Personal Voice capability in Azure AI Speech Service allows customers to create personal voices for their users based on their unique speech characteristics. This feature can be used for various use cases, such as personalizing voice experience for a chatbot, or dubbing video content in different languages with the actor’s native voice.
Zero-shot TTS or foundation TTS models have evolved rapidly in the past year. The industry and academia have proposed various approaches to advance the technology, including Microsoft’s state-of-the-art research models such as VALL-E (X) , FoundationTTS, NaturalSpeech 2 etc. These models are typically trained with large amounts of speech data to cover different text content and voice characteristics, such as timbre, speech styles and accents. With that, the model can gain the zero-shot text-to-speech ability to clone a voice with very little data of target speakers through modules such as auto-regressive transformers or diffusion.
Every model has its strengths and weaknesses, and we understand each customer’s needs are unique. We offer a variety of base models for Personal Voice customers to choose from based on their specific scenarios. Our latest addition, the “DragonLatestNeural” model, features cutting-edge technology that allows for more realistic prosody, higher fidelity, and personalized voices that mimic the nuances of the human speaker in the prompt, with various speech characteristics. This model is currently optimized for content generation scenarios where expressiveness is highly demanded, and latency is of less concern. Our updated “PhoenixLatestNeural” model also enhances the similarity of voice to the human speaker, while maintaining low-latency performance and higher pronunciation accuracy, making it ideal for real-time scenarios. Both models have undergone significant improvements and have been trained in 10x more data than the previous “PhoenixV2Neural” model.
Here are a few voice samples with different speaking styles, generated from the latest Dragon model:
Audio prompt (human voice)
Style
Generated speech and the script
Voice assistant
Good morning! Today’s weather is sunny with a high of 75 degrees. You have two meetings scheduled and a reminder to call your mom. How can I assist you further?
News
In today’s news, a major breakthrough in renewable energy has been achieved by researchers at the GreenTech Innovation Lab. The team, led by Dr. Emily Huang, announced the development of a new solar panel technology that promises to double the efficiency of current models. This significant advancement could lead to a substantial reduction in solar energy costs.
Conversation
Hey, um, everyone, it’s Lisa. So, about dinner tonight, uh, I’m trying to decide whether to cook or maybe order something. I’m thinking, uh, pasta with garlic bread sounds good, but then I saw this new Thai place nearby, and their menu looks really tempting.
Whisper
Sure, here is the note. What else can I do for you?
Excited
Guess what? I just won the lottery – we’re going on a dream vacation!
Shout
Watch out! The ball is heading right towards you!
Story
The moment water started flooding in from the kitchen, I dropped my tools and gasped, “Shit, shit, shit!” instantly realizing my day had taken a turn for the worse.
Below are samples of two voices speaking different languages with zero-shot TTS:
Female
Male
Prompt
Prompt
朋友们,你们真是太给力了。昨天我发了一条视频,希望有人来关注我,结果真的有很多朋友关注我了。我内心非常激动,而且还有人私信我说喜欢我,这让我很感动,感受到了大伙们的友善,谢谢你们!
Okay, um, so, like, I was, uh, trying to, you know, explain this thing to, um, my friend the other day, and, well, I just couldn’t, like, find the right, uh, words? And then, you know, I thought maybe, um, I was just, kind of, overthinking it or, um, something. It’s just, uh, sometimes hard to, you know, put thoughts into, um, words, you know? How was that? Anything else on your mind?
Once upon a time, there was a little rabbit named Benny. Benny loved to hop around in the fields and nibble on carrots. One day, while he was out exploring, he stumbled upon a beautiful garden filled with all sorts of delicious vegetables.
C’era una volta un piccolo coniglio di nome Benny. A Benny piaceva saltellare nei campi e rosicchiare le carote. Un giorno, mentre esplorava, incappò in un bellissimo giardino pieno di verdure deliziose. Benny non riuscì a resistere e iniziò a mangiare la fresca lattuga e i pomodori succosi.
Customer case
GRUP MEDIAPRO, a global media company and the leader of the European audiovisual market, has partnered with Microsoft to respond to the profound transformations in the media sector brought about by AI. In a recent announcement at the ISE fair on Jan 30th, the company unveiled its Artificial Intelligence and Synthetic Media Laboratory, which has been developed in partnership with Microsoft, as part of its commitment to innovation (read the news here).
The lab leverages the latest advances in AI, including zero-shot TTS, to support research and solution development in fields such as personalization of audiovisual and digital content, voice cloning, and video processing. GRUP MEDIAPRO and Microsoft approach this collaboration with a people-centered focus, while remaining committed to legal commitments and ethical principles in the development, deployment, and use of Artificial Intelligence solutions.
You can listen to the story in the CEO’s own personal voice, which was created using the Dragon zero-shot TTS model, in Chinese and Arabic. Tatxo Benet, the CEO, leads the way in showcasing the capabilities of this new technology, which has enabled him to reach to a global audience with the languages he doesn’t speak himself.
How to use it
As part of Microsoft’s commitment to responsible AI, Personal Voice is designed with the intention of protecting the rights of individuals and society, fostering transparent human-computer interaction, and counteracting the proliferation of harmful deepfakes and misleading content. For this reason, Personal Voice is a Limited Access feature available by registration only, and only for certain use cases. To access the API and use the feature in your business applications, register your use case here and apply for the access.
Once you’ve got your access, you can start to build your personal voice project. Use the Projects_Create operation of the custom voice API, to create a personal voice project. Check out more instructions here.
Then you can follow these steps to create a personal voice using zero-shot TTS with the Dragon model.
First, you’ll need to provide the user’s consent for creating a voice profile.
With the Personal Voice feature, it’s required that every voice be created with explicit consent from the user. A recorded statement from the user is required acknowledging that the customer (Azure AI Speech resource owner) will create and use their voice. You can find the template of the verbal statement in different languages here.
Follow the samples here to add a consent from a file or from a URL.
Once you’ve given consent, you can record and upload your voice samples to create a speaker profile ID.
To use Personal Voice in your application, you need to get a speaker profile ID. The speaker profile ID is used to generate synthesized audio with the text input provided. You create a speaker profile ID based on the speaker’s verbal consent statement and an audio prompt.
Follow the code samples here to create a speaker profile ID from a file or from a URL.
After the voice profile ID is created, you can use the zero-shot TTS feature with the selected base model to synthesize speech that matches your natural speaking style, intonation, and accent.
To get a list of supported base model voice names, use the BaseModels_List operation of the custom voice API. Note that DragonLastNeural and PhoenixLastNeural are evolving models. Their performance may vary with updates for ongoing improvements. PhoenixV2Neural is stable without further updates, ensuring a consistent performance. Select the base model that best meets your needs, and use the speaker profile ID to synthesize speech in any of the 100 languages supported.
A locale tag isn’t required in the SSML when using zero-shot TTS. Personal Voice employs automatic language detection at the sentence level. Below is an SSML example using DragonLatestNeural to generate speech for your personal voice in different languages. More details are provided here.
<speak version=’1.0′ xmlns=’http://www.w3.org/2001/10/synthesis’ xmlns:mstts=’http://www.w3.org/2001/mstts’ xml:lang=’en-US’>
<voice name=’DragonLatestNeural’>
<mstts:ttsembedding speakerProfileId=’your speaker profile ID here’>
I’m happy to hear that you find me amazing and that I have made your trip planning easier and more fun. 我很高兴听到你觉得我很了不起,我让你的旅行计划更轻松、更有趣。Je suis heureux d’apprendre que vous me trouvez incroyable et que j’ai rendu la planification de votre voyage plus facile et plus amusante.
</mstts:ttsembedding>
</voice>
</speak>
All customers must comply with the Guidelines for responsible deployment of synthetic voice technology and the code of conduct when using the service.
Get started
With the newly released zero-shot TTS models, the Personal Voice feature of Azure AI Speech is upgraded with higher quality. It generates speech that well captures the nuances of the user’s natural speech. Personal Voice is a Limited Access feature available by registration only, and only for certain use cases. To get started, register your use case here and apply for the access.
In addition to creating personal voices for your users, you can create a brand voice for your business with Custom Neural Voice’s professional voice feature. Azure AI Speech also offers over 400 neural voices covering more than 140 languages and locales. With these pre-built 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.
Microsoft Tech Community – Latest Blogs –Read More
Build it with AI: Tawi’s Home-Based Auditory Processing Disorder (APD) Toolkit
Build it with AI is a series hosting AI entrepreneurs who share their journeys and experiences driving innovation in the Era of AI.
In this episode, we host Muna Numan and Syntiche Musawu, co-founders of Tawi, an app that uses speech recognition technology to suppress background noise, enhance speech quality and transcribe speech all in real-time for children living with Auditory Processing Disorder (APD). With just earphones and a mobile phone, children with APD overcome a huge communication barrier, comfortably interacting with their peers and navigating the world with more confidence to achieve their full potential.
Team TAWI also emerged as the Microsoft Imagine Cup 2023 World Champions, and in this episode, they talk about:
The ins and outs of their product (including the architecture under the hood)
AI technologies that power the product – Azure AI Service (Speech service) and OpenAI’s Whisper (now available on Microsoft Azure)
Challenges, including conflicts during the team formation stage and how they resolved this to achieve their mission.
A one-stop shop for all founders, Microsoft Founders Hub, that provided the cloud infrastructure they needed to build their product, at no cost.
Resources
TAWI Website: https://tawi-ai.com/
Founders Hub to unlock benefits for your tech Azure credits, OpenAI credits, expert 1:1 consultation for your products among other benefits.
Microsoft Tech Community – Latest Blogs –Read More
Data MVPs and Microsoft Fabric Super Users in the Era of AI | Data Exposed: MVP Edition
Taking a step back in this episode of Data Exposed: MVP Edition to dive into the Microsoft MVP program and learn what Fabric Super Users are.
Resources:
Microsoft Fabric Learn Together
Become a Fabric Analytics Engineer
View/share our latest episodes on Microsoft Learn and YouTube!
Microsoft Tech Community – Latest Blogs –Read More
Data MVPs and Fabric Super Users | Data Exposed: MVP Edition
Taking a step back in this episode of Data Exposed: MVP Edition to dive into the Microsoft MVP program and learn what Fabric Super Users are.
Resources:
Microsoft Fabric Learn Together
Become a Fabric Analytics Engineer
View/share our latest episodes on Microsoft Learn and YouTube!
Microsoft Tech Community – Latest Blogs –Read More
Partner Blog | Unlock productivity with Jira Cloud plugin for Microsoft Copilot for Microsoft 365
By Srini Raghavan,VP, Microsoft Teams Ecosystem
There’s little doubt that AI is transforming the way we work across entire enterprise processes and the day-to-day digital experiences of employees. But what about the business value it represents?
According to a recent global study from IDC, organizations are quickly realizing rapid return on investment and significant increases to customer satisfaction, productivity, and market share that results from AI integration—especially when coupled with 40 percent of organizations reporting implementation times of less than six months and 92 percent of AI deployments taking 12 months or less.*
Continue reading here
Microsoft Tech Community – Latest Blogs –Read More
What’s new in Microsoft Teams (free) | January 2024
Read more about the latest feature updates and improvements in Microsoft Teams (free) in the recent blog post on the Teams Insider Blog:
https://insider.teams.com/blog/whats-new-in-microsoft-teams-free-jan-2024/
Microsoft Tech Community – Latest Blogs –Read More
Get started with Azure partner-led offerings: Azure Migrate and Modernize, and Azure Innovate.
With Microsoft Azure, you have access to a portfolio of products, resources, and offerings to help you meet evolving customer opportunities and join a community of partners committed to leading the way in the era of AI. With Azure, you can meet faster application delivery times, achieve significant cost savings, and access funding through Azure Migrate and Modernize and Azure Innovate. Formerly the Azure Migration and Modernization Program, Azure Migrate and Modernize is an expanded offering for customer migration and modernization scenarios across apps, data, and infrastructure that includes more workloads support, streamlined access to specialized partners, incentives to offset migration costs, and security guidance built into every engagement. Azure Innovate is our newest offering to build new solutions and modernize existing ones on Azure to meet the demand for AI transformation and begin the next wave of growth for your business.
Azure specialized partners and qualified ISVs have access to assessments, pilot POCs, tooling, funding, and Microsoft expert guidance when you need it – all designed to help you accelerate the cloud journey and drive growth and impact. At Microsoft, we recognize that what you need to succeed is unique to your business model, size, and stage of growth. That’s why we’re investing in these two comprehensive offerings that are built for all.
We are setting the pace in 2024 with the latest announcements effective January 1:
Extra small engagement sizes are now available for all scenarios
ISV partners can now nominate strategics in Azure Migrate and Modernize
Top Tier partners can access Azure Migrate and Modernize partner-led for ISVs if they satisfy the IP co-sell top tier criteria
And multiple nominations for the same customer will be available for the same engagement type
Learn more and nominate today!
Microsoft Tech Community – Latest Blogs –Read More
What’s New in Microsoft EDU webinar – February 2024
Join us on Tuesday, February 6th, 2024 for our latest “What’s New in Microsoft EDU” webinar! This webinar will also be recapping the big announcements we made at the Bett conference in London in late January. These 30 minute webinars are put on by the Microsoft Education Product Management group and happen once per month, this month both 8:00am Pacific Time and 4:00pm Pacific time to cover as many global time zones as possible around the world. And don’t worry – we’ll be recording these and posting on our Microsoft Education YouTube channel in the new “What’s New in Microsoft EDU” playlist, so you’ll always to able to watch later or share with others!
Here is our February 2024 webinar agenda:
What’s New in AI
What’s new in Microsoft Teams for EDU
What’s new in Microsoft 365 EDU
AMA – Ask Microsoft EDU Anything (Q&A)
How to sign up
OPTION 1: February 6th, Tuesday @ 8:00am Pacific Tim Register here
OPTION 2: February 6th, Tuesday @ 4:00pm Pacific Time: Register here
Send us your questions ahead of time by adding yours into this form: WNIEDUWebinarFeb24QnA
This is what the webinar portal will look like when you register:
Microsoft Tech Community – Latest Blogs –Read More
Scvmm iscsi dell storage
Hello all,
I have one unity xt 380 that i want to connect to scvmm. The unity has iscsi interfaces 192.168.x.x and management at different subnet.
I cannot connect to the iscsi through smi-s from scvmm. Can you please help.
Hello all,I have one unity xt 380 that i want to connect to scvmm. The unity has iscsi interfaces 192.168.x.x and management at different subnet. I cannot connect to the iscsi through smi-s from scvmm. Can you please help. Read More
Configuration Manager technical preview version 2401
Automated diagnostic Dashboard for Software Update Issues
A new dashboard is added to the console under monitoring workspace which shows the diagnosis of the software update issues in your environment. You can fix software update issues based on CM troubleshooting documentation.
Introducing Centralized Search box: Effortlessly Find What You Need in the Console!
Users can now use the global search box in CM console which streamlines the search experience and centralizes access to information. This enhances the overall usability, productivity and effectiveness of CM. Users no longer need to navigate through multiple nodes or sections/ folders to find information they require, saving valuable time and effort.
Microsoft Azure Active Directory rebranded to Microsoft Entra ID
Starting Configuration Manager version 2403, Microsoft Azure Active Directory is renamed to Microsoft Entra ID within Configuration Manager.
Enhancement in Deploying Software Packages with Dynamic Variables
With the introduction of retry count in UI administrators while deploying the “Install Software Package” via Dynamic variable with “Continue on error” unchecked to clients, won’t be notified with task sequence failures even if package versions on the distribution point are updated.
Enabling Auto-Image Patching for CMG Virtual Machine Scale Set
With this version of CM Configuration Manager Cloud Management Gateway (CMG) Virtual Machine Scale introduces enabling of Auto-Image Patching for seamless and automated updates to ensure your environment stays current and secure with this efficient solution.
Window 11 Readiness dashboard to support Windows 23H2
With this version of Configuration Manager, the Windows 11 readiness dashboard will show charts for Windows 23H2.
HTTPS or Enhanced HTTP should be enabled for client communication from this version of Configuration Manager
HTTP-only communication is deprecated, and support is removed from this version of Configuration Manager. Please enable HTTPS or Enhanced HTTP for client communication.
Upgrade to CM 2403 is blocked if CMG V1 is running as a cloud service (classic)
The option to upgrade Configuration Manager 2403 is blocked if you’re running cloud management gateway V1 (CMG) as a cloud service (classic).All CMG deployments should use a virtual machine scale set.
Windows Server 2012/2012 R2 operating system site system roles aren’t supported from this version of Configuration Manager
Starting 2403, Windows Server 2012/2012 R2 operating system site system roles aren’t supported in any CB releases.
Improvements to Bitlocker
This release includes the following improvements to Bitlocker:
Based on your feedback, this feature ensures proper verification of key escrow and prevents message drops. We now validate whether the key is successfully escrowed to the database, and only on successful escrow we add the key protector.
This feature prevents a potential data loss scenario where BitLocker is protecting the volumes with keys that are never backed up to the database, in any failures to escrow happens.
Update 2401 for Technical Preview Branch is available in the Microsoft Configuration Manager Technical Preview console. For new installations, the 2401 baseline version of Microsoft Configuration Manager Technical Preview Branch is available on the link: CM2401TP-Baseline or from Eval center
Technical Preview Branch releases give you an opportunity to try out new Configuration Manager features in a test environment before they are made generally available.
We would love to hear your thoughts about the latest Technical Preview! Send us feedback directly from the console.
Thanks,
The Configuration Manager team
Configuration Manager Resources:
Documentation for Configuration Manager Technical Previews
Try the Configuration Manager Technical Preview Branch
Documentation for Configuration Manager
Microsoft Tech Community – Latest Blogs –Read More
Partner Blog | What’s new for Microsoft Partners: January 2024 edition
Written by Andrew Smith, General Manager, Partner Program Management
AI and other emerging technologies continue to revolutionize our industry, pushing the boundaries of what is possible and surfacing new customer priorities. As you strategize for the year ahead, membership in the Microsoft AI Cloud Partner Program connects you to tools, resources, and potential collaborators to advance your business in the direction of your goals. Stay up to date on the latest program offerings with this summary of the top stories from the past few months:
Continue reading here
Microsoft Tech Community – Latest Blogs –Read More
Customer review: AnnounceBot connects teams by celebrating birthday and work anniversary events
AnnounceBot Automated and Personalized Greetings, a solution published to Microsoft AppSource, helps companies celebrate special occasions like birthdays, work anniversaries, and welcoming new hires. With minimal setup and no calendars or manual work, AnnounceBot increases engagement, collaboration, and retention.
Microsoft interviewed Stephen Cornell, Service Director, Protected Trust, to learn what he had to say about the app.
What do you like best about AnnounceBot?
We absolutely love how easy AnnounceBot is to use! It is user-friendly, and setting it up was quick. Before using AnnounceBot, social media was our only way to track birthdays, which means some folks got left out. And work anniversaries were out of the picture. Since we started using AnnounceBot, we have never missed a birthday or work anniversary. It’s all automatic now.
How has AnnounceBot helped your organization?
Keeping the team engaged became challenging when we transitioned into working remotely. AnnounceBot helped us rebuild team connections by providing a centralized system to celebrate special events. Now, everyone engages in birthday and work anniversary posts, makes jokes, and tells stories about times we were all together in an office. It is a small gesture that has made a big difference in our company culture.
How is customer service and support?
I wanted to know how to check birthdays that are getting tracked. The support team responded within an hour and provided the information I needed.
Any recommendations or insights for other users considering AnnounceBot?
My suggestion would be to set it up in a small team first, just to get the hang of it. Test it out there before you go big and use it for the whole organization.
On a scale from 1 to 5 (5 being the highest), what is your overall rating for this AnnounceBot?
I would give AnnounceBot a 4.5 only because I think they should support Microsoft Entra ID (formerly Azure Active Directory) integration to make birthdate and joining date collection even smoother.
Microsoft Tech Community – Latest Blogs –Read More
MAC address assignment strategies for tenant VMs running on Stack-HCI environment
Azure Stack HCI is a hyperconverged infrastructure (HCI) cluster solution consists of windows servers (Hyper-V), Storage Spaces Direct, and Azure-inspired SDN. All clustered servers share common configurations and resources by leveraging the Windows Server Failover Clustering feature. A Windows Failover Cluster consists of multiple windows servers running in a cluster to provide high availability i.e. If one server node goes down, then another node takes over. We can create multiple VMs on the failover cluster. VMs can be connected to different tenant networks. In this case we need to make sure VM connected on network ‘A’ with static ip should persist same network configuration even if it gets migrated from one node to another within a cluster. This is possible by assigning static MAC/static IP for the VM. But how to get free and unique MAC to assign to VM, there are different ways to solve this problem. In this article we will discuss some of them with pros and cons. (Note: solutions discussed in this article are just to suggestions, can not be considered optimal solutions)
Before this, lets understand first things required to create a tenant VM. To create tenant VM connected to tenant network in stack-hci following steps are performed.
1. Create a new VM with vm network adapter having static MAC assigned
2. Create a new network interface on network controller service(running on SDN) having same MAC and static IP assigned.
3. Associate created network adapter with network interface controller, to make vm gets tenant network connection.
Following powershell commands perform above steps logically.
# 1. vm creation with static MAC
New-VM -Generation 2 -Name “MyVM” -Path “C:VMsMyVM” -MemoryStartupBytes 4GB -VHDPath “C:VMsMyVMVirtual Hard DisksWindowsServer2016.vhdx” -SwitchName “SDNvSwitch”
Set-VM -Name “MyVM” -ProcessorCount 4
# Setting static MAC
Set-VMNetworkAdapter -VMName “MyVM” -StaticMacAddress “00-11-22-33-44-55”
# Creating network interface on networkcontroller with same mac/static IP
$vnet = Get-NetworkControllerVirtualNetwork -ConnectionUri $uri -ResourceId “Contoso_WebTier”
$vmnicproperties = New-Object Microsoft.Windows.NetworkController.NetworkInterfaceProperties
$vmnicproperties.PrivateMacAddress = “001122334455”
$vmnicproperties.PrivateMacAllocationMethod = “Static”
$vmnicproperties.IsPrimary = $true
$vmnicproperties.DnsSettings = New-Object Microsoft.Windows.NetworkController.NetworkInterfaceDnsSettings
$vmnicproperties.DnsSettings.DnsServers = @(“24.30.1.11”, “24.30.1.12”)
$ipconfiguration = New-Object Microsoft.Windows.NetworkController.NetworkInterfaceIpConfiguration
$ipconfiguration.resourceid = “MyVM_IP1”
$ipconfiguration.properties = New-Object Microsoft.Windows.NetworkController.NetworkInterfaceIpConfigurationProperties
$ipconfiguration.properties.PrivateIPAddress = “24.30.1.101”
$ipconfiguration.properties.PrivateIPAllocationMethod = “Static”
$ipconfiguration.properties.Subnet = New-Object Microsoft.Windows.NetworkController.Subnet
$ipconfiguration.properties.subnet.ResourceRef = $vnet.Properties.Subnets[0].ResourceRef
$vmnicproperties.IpConfigurations = @($ipconfiguration)
New-NetworkControllerNetworkInterface –ResourceID “MyVM_Ethernet1” –Properties $vmnicproperties –ConnectionUri $uri
$nic = Get-NetworkControllerNetworkInterface -ConnectionUri $uri -ResourceId “MyVM_Ethernet1”
#Do not change the hardcoded IDs in this section, because they are fixed values and must not change.
# 3. Finally make association of vm network adapter with nic created in last step
$FeatureId = “9940cd46-8b06-43bb-b9d5-93d50381fd56”
$vmNics = Get-VMNetworkAdapter -VMName “MyVM”
$CurrentFeature = Get-VMSwitchExtensionPortFeature -FeatureId $FeatureId -VMNetworkAdapter $vmNics
if ($CurrentFeature -eq $null) {
$Feature = Get-VMSystemSwitchExtensionPortFeature -FeatureId $FeatureId
$Feature.SettingData.ProfileId = “{$($nic.InstanceId)}”
$Feature.SettingData.NetCfgInstanceId = “{56785678-a0e5-4a26-bc9b-c0cba27311a3}”
$Feature.SettingData.CdnLabelString = “TestCdn”
$Feature.SettingData.CdnLabelId = 1111
$Feature.SettingData.ProfileName = “Testprofile”
$Feature.SettingData.VendorId = “{1FA41B39-B444-4E43-B35A-E1F7985FD548}”
$Feature.SettingData.VendorName = “NetworkController”
$Feature.SettingData.ProfileData = 1
Add-VMSwitchExtensionPortFeature -VMSwitchExtensionFeature $Feature -VMNetworkAdapter $vmNics
} else {
$CurrentFeature.SettingData.ProfileId = “{$($nic.InstanceId)}”
$CurrentFeature.SettingData.ProfileData = 1
Set-VMSwitchExtensionPortFeature -VMSwitchExtensionFeature $CurrentFeature -VMNetworkAdapter $vmNics
}
Get-VM -Name “MyVM” | Start-VM
To make sure VMs works fine even after migration in windows failover cluster, we need to assign static MAC and static IP. To get available and unique MAC is challenge here. We will see following ways to solve this problem with pros and cons.
Generating random MAC on node
Assign dedicated unique MAC address range for every Node in cluster and Generating free MAC from Node from pool of MAC address range.
Get free MAC from Network controller service and use same on VM
Lets discuss each approach in detailed-
1. Generating random MAC on node
This is very simple approach, where we will generate random MAC and same will be used. It includes below steps:
Generate valid MAC on node, where we need to create VM(or new network interface).
Set same MAC on vm network adapter as static
Set same MAC on network interface along with static IP
Following is powershell script performs same above logical steps:
New-VM -Name $vm_name -MemoryStartupBytes $vm_memory -BootDevice VHD -VHDPath $image_path -Path $vm_data_path -Generation $vm_generation -SwitchName $switch_name
Add-ClusterVirtualMachineRole -vmname $vm_name -Name $vm_name
Start-Sleep -Seconds 3
############## Random MAC address generation and assignment
# script block for mac address assingment kept in retry block
$mac_address = Retry-Command -ScriptBlock {
# do something
# found used in az-auto-setup
#$mac_address=(“{0:D12}” -f ( Get-Random -Minimum 0 -Maximum 99999 ))
$mac_address = (0..5 | ForEach-Object { ‘{0:x}{1:x}’ -f (Get-Random -Minimum 0 -Maximum 15), (Get-Random -Minimum 0 -Maximum 15) }) -join ‘-‘
write-host “Tring to set : $mac_address”
Set-VMNetworkAdapter -VMName $vm_name -StaticMacAddress “$mac_address”
write-host “Mac set succssfully: $mac_address”
Start-Sleep -Milliseconds 500
Write-host $( Get-VMNetworkAdapter -VMName $vm_name ).MacAddress
return $mac_address
}
write-host “Mac set succssfully: $mac_address”
Write-host ‘VM created..’
##########################################################################
# network configuration starts here..
# you can refer for more info: https://learn.microsoft.com/en-us/windows-server/networking/sdn/manage/create-a-tenant-vm#prerequisites
$vnet = Get-NetworkControllerVirtualNetwork -ConnectionUri $uri -ResourceId $vnet_name
$vmnicproperties = New-Object Microsoft.Windows.NetworkController.NetworkInterfaceProperties
# give same mac address below as created before..
$mac = -join($mac_address.split(“-“)).toupper()
$vmnicproperties.PrivateMacAddress = $mac
Write-host $mac
$vmnicproperties.PrivateMacAllocationMethod = “Static”
$vmnicproperties.IsPrimary = $true
$vmnicproperties.DnsSettings = New-Object Microsoft.Windows.NetworkController.NetworkInterfaceDnsSettings
#$vmnicproperties.DnsSettings.DnsServers = @(“192.168.1.254”, “8.8.8.8”)
$vmnicproperties.DnsSettings.DnsServers = $dns_server
$ipconfiguration = New-Object Microsoft.Windows.NetworkController.NetworkInterfaceIpConfiguration
$ipconfiguration.resourceid = $vm_name + “_IP1”
$ipconfiguration.properties = New-Object Microsoft.Windows.NetworkController.NetworkInterfaceIpConfigurationProperties
$ipconfiguration.properties.PrivateIPAddress = $ip_address
$ipconfiguration.properties.PrivateIPAllocationMethod = “Static”
$ipconfiguration.properties.Subnet = New-Object Microsoft.Windows.NetworkController.Subnet
# do: programatically decide subnet full ref, or form path directly
# $ipconfiguration.properties.subnet.ResourceRef = $vnet.Properties.Subnets[0].ResourceRef
$ipconfiguration.properties.subnet.ResourceRef = “/virtualNetworks/” + $vnet_name + “/subnets/” + $subnet_name
$vmnicproperties.IpConfigurations = @($ipconfiguration)
$NIC_name = $vm_name + “_Eth1”
New-NetworkControllerNetworkInterface -ResourceID $NIC_name -Properties $vmnicproperties -ConnectionUri $uri -Confirm:$false -force
Write-host ‘NIC config created..’
Start-Sleep -Seconds 8
$nic = Get-NetworkControllerNetworkInterface -ConnectionUri $uri -ResourceId $NIC_name
#########################################################################
#Do not change the hardcoded IDs in this section, because they are fixed values and must not change.
$FeatureId = “9940cd46-8b06-43bb-b9d5-93d50381fd56”
$vmNics = Get-VMNetworkAdapter -VMName $vm_name
$CurrentFeature = Get-VMSwitchExtensionPortFeature -FeatureId $FeatureId -VMNetworkAdapter $vmNics
if ($CurrentFeature -eq $null)
{
$Feature = Get-VMSystemSwitchExtensionPortFeature -FeatureId $FeatureId
$Feature.SettingData.ProfileId = “{$( $nic.InstanceId )}”
$Feature.SettingData.NetCfgInstanceId = “{56785678-a0e5-4a26-bc9b-c0cba27311a3}”
$Feature.SettingData.CdnLabelString = “TestCdn”
$Feature.SettingData.CdnLabelId = 1111
$Feature.SettingData.ProfileName = “Testprofile”
$Feature.SettingData.VendorId = “{1FA41B39-B444-4E43-B35A-E1F7985FD548}”
$Feature.SettingData.VendorName = “NetworkController”
$Feature.SettingData.ProfileData = 1
Add-VMSwitchExtensionPortFeature -VMSwitchExtensionFeature $Feature -VMNetworkAdapter $vmNics
}
else
{
$CurrentFeature.SettingData.ProfileId = “{$( $nic.InstanceId )}”
$CurrentFeature.SettingData.ProfileData = 1
Set-VMSwitchExtensionPortFeature -VMSwitchExtensionFeature $CurrentFeature -VMNetworkAdapter $vmNics
}
Write-host ‘finally applying setting..’
Start-Sleep -Seconds 5
Get-VM -Name $vm_name | Start-VM
But this approach has following problems :
There is possibility that two vms running on same cluster may got same MAC and it may create MAC conflict issue after migration.
Some specific MAC range is not allowed to be assigned, in this case we need to keep retrying random generation, which is not good.
Very difficult to keep track of used MAC addresses.
So this method is not reliable and not recommended.
2. Assign dedicated unique MAC address pool range for every Node in cluster and Generating free MAC from Node’s MAC address range pool.
We can preassign unique dedicated MAC address pool range to every node(hyper-v) in cluster, so whenever we need to create new network interface we will first get free MAC from the pool of node where vm will be running. Same MAC will be made static on vm network adapter and network interface followed by static ip. Following are logical steps need to perform:
1. Get free MAC from Node’s MAC pool range.
2. Assign same static MAC on VM network adapter
3. Set same MAC on network interface along with static IP
Following is an example of MAC pool range distribution plan for 255 clusters, 16 hosts each:
00-15-5D-[c1][c2]-[h1][v1]-[v2][v3]
field c1, c2: will indicate a cluster. 00 to FF : Max 255 clusters can be created.
field h1 – will be for host/node identification in a cluster. 0 to F = max 16 hosts in a cluster.
field v1,v2,v3 will be used for vms. 000 to FFF = 16*16*16 = total 4096 possible vms/network interfaces per node can be created.
But main challenge here is there is no api or command available to get free MAC from node pool. There is a workaround that to get MAC assigned from the pool, we need to create dummy network adapter with dynamic configuration and start vm for a moment to get free dynamic MAC assigned from node pool range. Then we need to stop vm and revert the change and using same MAC we need to create static one and same steps need to be followed. This is not good approach since this is just a workaround, where dummy resource need to create.
# creating new network adapter with dynamic MAC
Add-VMNetworkAdapter -VMName $vm_name -SwitchName $switch_name -Name $adapter_name
# starting and stopping vm to get free MAC from node pool
Start-VM -VMName $vm_name; Stop-VM -VMName $vm_name -Force
# reading assigned dynamic MAC
$mac_address = (Get-VMNetworkAdapter -VMName $vm_name -Name $adapter_name).MacAddress
# make same MAC as static
Set-VMNetworkAdapter -VMName $vm_name -Name $adapter_name -StaticMacAddress $mac_address
# rest steps are same for network interface creation
3. Get free MAC from Network controller service and use same on VM network adapter.
There is a dedicated centralized network controller service on every Stack-hci cluster, where we can setup global MAC address range pool at network controller service. When we create new network interface on network controller service with dynamic configuration, then it assign free MAC from the global free pool. It is very reliable solution since it is a centralized service. In this, we will follow below steps
Create a Network interface in Network controller service with dynamic MAC assignment config, to get assigned free MAC from global MAC range.
Read assigned MAC on network interface
Assign same MAC address to vm network adapter as static.
The following powershell commands perform above steps (Note: please use appropriate values in place of parameters):
# Creating network interface with dynamic MAC config on network controller
$vmnicproperties = New-Object Microsoft.Windows.NetworkController.NetworkInterfaceProperties
$vmnicproperties.PrivateMacAllocationMethod = “Dynamic“
$vmnicproperties.IsPrimary = $true
$vmnicproperties.DnsSettings = New-Object Microsoft.Windows.NetworkController.NetworkInterfaceDnsSettings
$vmnicproperties.DnsSettings.DnsServers = $dns_server
$ipconfiguration = New-Object Microsoft.Windows.NetworkController.NetworkInterfaceIpConfiguration
$ipconfiguration.resourceid = $vm_name + “_IP1”
$ipconfiguration.properties = New-Object Microsoft.Windows.NetworkController.NetworkInterfaceIpConfigurationProperties
$ipconfiguration.properties.PrivateIPAddress = $ip_address
$ipconfiguration.properties.PrivateIPAllocationMethod = “Static”
$ipconfiguration.properties.Subnet = New-Object Microsoft.Windows.NetworkController.Subnet
$ipconfiguration.properties.subnet.ResourceRef = “/virtualNetworks/” + $vnet_name + “/subnets/” + $subnet_name
$vmnicproperties.IpConfigurations = @($ipconfiguration)
$NIC_name = $vm_name + “_Eth1”
New-NetworkControllerNetworkInterface -ResourceID $NIC_name -Properties $vmnicproperties -ConnectionUri $uri -Confirm:$false -force
Write-host ‘NIC config created..’
Start-Sleep -Seconds 8
$nic = Get-NetworkControllerNetworkInterface -ConnectionUri $uri -ResourceId $NIC_name
# Read obtained free MAC from global pool
$mac_address = $nic.Properties.PrivateMacAddress -replace ‘..(?!$)’, ‘$&-‘
###### Vm creation flow starts from here. We will set static MAC here
New-VM -Name $vm_name -MemoryStartupBytes $vm_memory -BootDevice VHD -VHDPath $image_path -Path $vm_data_path -Generation $vm_generation -SwitchName $switch_name
Add-ClusterVirtualMachineRole -vmname $vm_name -Name $vm_name
Set-VMNetworkAdapter -VMName $vm_name -StaticMacAddress “$mac_address“
write-host “Mac set succssfully: $mac_address“
Conclusion:
The third/last approach discussed in this article seems to be easy and more reliable, since we are consuming MAC from centralized network controller service. We will never face problem of MAC conflicts incase VMs get migrated from one node to another.
Microsoft Tech Community – Latest Blogs –Read More
Secure Your Machine Learning Workspace with Virtual Network
Introduction
Machine learning (ML) is a branch of artificial intelligence that enables computers to learn from data and make predictions or decisions. ML applications often require access to large amounts of data, compute resources, and external services. To ensure the security and privacy of these resources, it is essential to isolate the ML workspace from unauthorized or malicious access. One way to achieve this is by using a virtual network (VNet).
What is a Virtual Network?
A virtual network is a logical representation of a network that is isolated from other networks. A VNet can have its own IP address space, subnets, routing tables, firewalls, and network security groups. A VNet can also connect to other VNets, on-premises networks, or the internet, depending on the configuration and permissions. A VNet allows the user to control the network traffic and access policies for the resources within the VNet.
Why Use a Virtual Network for Machine Learning?
Using a VNet for machine learning has several advantages, such as:
Enhanced security: A VNet can protect the ML workspace and its associated resources from unauthorized or malicious access. For instance, a VNet can restrict the access to the data sources, compute targets, and web services that are used by the ML workspace. A VNet can also prevent the leakage of sensitive data or intellectual property from the ML workspace to the internet or other networks.
Improved performance: A VNet can improve the performance of the ML workspace by reducing the latency and bandwidth consumption of the network traffic. For instance, a VNet can enable the ML workspace to access the data sources and compute targets within the same region or data centre, avoiding the cross-region or cross-premises network overhead. A VNet can also optimize the network routing and traffic management for the ML workspace.
Increased flexibility: A VNet can increase the flexibility of the ML workspace by allowing the user to customize the network configuration and policies. For instance, a VNet can enable the user to choose the IP address range, subnet size, firewall rules, and network security groups for the ML workspace. A VNet can also enable the user to integrate the ML workspace with other VNets, on-premises networks, or the internet, depending on the business needs and compliance requirements.
What is a Microsoft Managed Virtual Network Workspace?
A Microsoft managed virtual network workspace is a type of ML workspace that is created and managed by Microsoft on behalf of the user. A Microsoft managed virtual network workspace uses an isolated and dedicated VNet that is automatically configured and secured by Microsoft. A Microsoft managed virtual network workspace provides the following benefits:
Simplified setup: A Microsoft managed virtual network workspace does not require the user to create or manage the VNet, subnets, routing tables, firewalls, or network security groups. The user only needs to provide the name and region of the ML workspace, and Microsoft will create and manage the VNet for the ML workspace.
Optimized security: A Microsoft managed virtual network workspace uses a VNet that is isolated from other networks and has strict access policies. The VNet only allows the ML workspace and its associated resources to communicate with each other and blocks any external or internal access. The VNet also encrypts the network traffic and data within the VNet.
Seamless integration: A Microsoft managed virtual network workspace supports the integration with other VNets, on-premises networks, or the internet, using the Azure Private Link service. The Azure Private Link service enables the user to securely connect the ML workspace and its associated resources with other resources, without exposing them to the public internet or other networks.
Reduced Dependency: A Microsoft managed virtual network workspace reduces the dependency on the customer to provide an IP address range for the VNet for the workspace. This is because the VNet is automatically configured and secured by Microsoft, which simplifies the setup process and reduces the burden on the customer. As a result, the customer can focus on their machine learning tasks without worrying about the complexities of VNet configuration.
Conclusion
A VNet can provide enhanced security, improved performance, and increased flexibility for the ML workspace and its components. The user can opt for a Microsoft managed virtual network workspace, which simplifies the setup, optimizes the security, and enables the seamless integration of the ML workspace with a VNet.
Microsoft Tech Community – Latest Blogs –Read More
How to Secure Your Machine Learning Workspace with Virtual Network
Introduction
Machine learning (ML) is a branch of artificial intelligence that enables computers to learn from data and make predictions or decisions. ML applications often require access to large amounts of data, compute resources, and external services. To ensure the security and privacy of these resources, it is essential to isolate the ML workspace from unauthorized or malicious access. One way to achieve this is by using a virtual network (VNet).
What is a Virtual Network?
A virtual network is a logical representation of a network that is isolated from other networks. A VNet can have its own IP address space, subnets, routing tables, firewalls, and network security groups. A VNet can also connect to other VNets, on-premises networks, or the internet, depending on the configuration and permissions. A VNet allows the user to control the network traffic and access policies for the resources within the VNet.
Why Use a Virtual Network for Machine Learning?
Using a VNet for machine learning has several advantages, such as:
Enhanced security: A VNet can protect the ML workspace and its associated resources from unauthorized or malicious access. For instance, a VNet can restrict the access to the data sources, compute targets, and web services that are used by the ML workspace. A VNet can also prevent the leakage of sensitive data or intellectual property from the ML workspace to the internet or other networks.
Improved performance: A VNet can improve the performance of the ML workspace by reducing the latency and bandwidth consumption of the network traffic. For instance, a VNet can enable the ML workspace to access the data sources and compute targets within the same region or data centre, avoiding the cross-region or cross-premises network overhead. A VNet can also optimize the network routing and traffic management for the ML workspace.
Increased flexibility: A VNet can increase the flexibility of the ML workspace by allowing the user to customize the network configuration and policies. For instance, a VNet can enable the user to choose the IP address range, subnet size, firewall rules, and network security groups for the ML workspace. A VNet can also enable the user to integrate the ML workspace with other VNets, on-premises networks, or the internet, depending on the business needs and compliance requirements.
What is a Microsoft Managed Virtual Network Workspace?
A Microsoft managed virtual network workspace is a type of ML workspace that is created and managed by Microsoft on behalf of the user. A Microsoft managed virtual network workspace uses an isolated and dedicated VNet that is automatically configured and secured by Microsoft. A Microsoft managed virtual network workspace provides the following benefits:
Simplified setup: A Microsoft managed virtual network workspace does not require the user to create or manage the VNet, subnets, routing tables, firewalls, or network security groups. The user only needs to provide the name and region of the ML workspace, and Microsoft will create and manage the VNet for the ML workspace.
Optimized security: A Microsoft managed virtual network workspace uses a VNet that is isolated from other networks and has strict access policies. The VNet only allows the ML workspace and its associated resources to communicate with each other and blocks any external or internal access. The VNet also encrypts the network traffic and data within the VNet.
Seamless integration: A Microsoft managed virtual network workspace supports the integration with other VNets, on-premises networks, or the internet, using the Azure Private Link service. The Azure Private Link service enables the user to securely connect the ML workspace and its associated resources with other resources, without exposing them to the public internet or other networks.
Reduced Dependency: A Microsoft managed virtual network workspace reduces the dependency on the customer to provide an IP address range for the VNet for the workspace. This is because the VNet is automatically configured and secured by Microsoft, which simplifies the setup process and reduces the burden on the customer. As a result, the customer can focus on their machine learning tasks without worrying about the complexities of VNet configuration.
Conclusion
Using a VNet for machine learning is a trade-off between security, performance, flexibility, complexity, cost, and compatibility. A VNet can provide enhanced security, improved performance, and increased flexibility for the ML workspace and its components, but it can also introduce increased complexity, additional cost, and potential compatibility issues. Therefore, the user should carefully evaluate the advantages and drawbacks of using a VNet for machine learning and choose the best option for their specific scenario and needs. Alternatively, the user can opt for a Microsoft managed virtual network workspace, which simplifies the setup, optimizes the security, and enables the seamless integration of the ML workspace with a VNet.
Microsoft Tech Community – Latest Blogs –Read More