We offer two things:
1. Hundreds of automation script samples based on IT Pros' frequently asked IT tasks
2. Script Browser & Script Analyzer tools to ease and improve the script writing
Microsoft All-In-One Script Framework is an on-going effort in which the Microsoft team writes PowerShell/VBS/T-SQL script samples for IT Pros based on their feedback. The feedback is collected by the team from Microsoft's TechNet forums, Microsoft’s phone support incidents, as well as other social media and communities based on frequently asked IT tasks. If an IT task is, for example, asked in more than two TechNet forum threads, the team will consider the task as a potential script topic, and providing a script sample to demonstrate how to ease the task with automation scripts.
Since the Microsoft All-In-One Script Framework was launched in August, the team has collected over 350 script topics. More than 50 of these script ideas have been turned into the actual script samples published on TechNet Script Repository. In order to better prioritize the script topics and hear more from customers, All-In-One Script Framework launches the “You vote it; We write it” program today in partnership with TechNet Script Repository. In this program, the team is going to publicly post the collected script topics. The IT community can vote for these script topics. The higher the topic is voted, the higher priority will the team offer to write and publish the script sample.
Every week, the team will post a batch of script topics for the IT community to vote. You can follow it by subscribing to the "YouVoteWeWrite” RSS feed or visiting this page. You simply vote for your beloved or wanted script topics. The All-In-One Script Framework team will write the script sample for you, free of charge.
Here is the first batch of script topics for you to vote!
How to get the current automatic theme color in Windows 8?
Script to Monitor Scheduled Tasks on a server
O365: Set Calendar Permission in Office 365 Exchange Online
O365: Set OWA Signature in Office 365 Exchange Online
O365: Add Birthday or Anniversary Reminder in Office 365 Exchange Online
O365: Export Distribution Group Members in Office 365 Exchange Online
O365: Remove Duplicated Contacts in Office 365 Exchange Online
O365: Operate Connected Email Account
All-In-One Script Framework is featured by customer-driven script samples. Each sample demonstrates how to automate one specific IT task that is frequently asked in TechNet forums, Microsoft support calls, and social media. In order to give readers a better and quicker learning experience, the team starts to create short 5- to 10- minute videos to visually demonstrate some script samples. These videos would show you how to accomplish the task by running the script sample, and illustrate some key script snippets in the sample project. We sincerely hope that the IT Pro community will love our effort.
The first how-do-I video has been published. It demonstrates one of our recently released Windows 8 script sample:
Get Network Adapter Properties in Windows 8
The video is embedded in the sample introduction page.
Microsoft All-In-One Script Framework is updated today with 7 new SQL Server script samples. The scripts are written for solving frequently asked IT tasks that our team observed in the SQL Server TechNet forums and Microsoft Support Incidents. Many customers are asking about these IT scenarios, so we expect that the script samples can save some time for IT Pros.
--------------------------------------------------------------
Download: enrollinstances.zip
http://gallery.technet.microsoft.com/scriptcenter/Enroll-SQL-Server-66687842
Description: This PowerShell sample script is used to enroll SQL Server instances on multi server into an existing SQL Server Utility. This script applies to SQL Server 2008 R2 and SQL Server 2012 editions. User Scenarios: SQL Server Utility can manage the SQL Server environment as a whole through the concept of application and multiserver management in it, so after created one utility control point, administrator need to enroll instances of SQL Server into the SQL Server Utility. If your task included in below two scenarios, this script will be one good assistant. There are multiple managed instances need to be enrolled tothe SQL Server Utility. We can store the server and instance names in one .txt file. Acknowledgement: Thanks Stephanie Lv for collecting the script idea. Thanks Sharp Wang for producing the script sample.
Description: This PowerShell sample script is used to enroll SQL Server instances on multi server into an existing SQL Server Utility. This script applies to SQL Server 2008 R2 and SQL Server 2012 editions.
User Scenarios: SQL Server Utility can manage the SQL Server environment as a whole through the concept of application and multiserver management in it, so after created one utility control point, administrator need to enroll instances of SQL Server into the SQL Server Utility. If your task included in below two scenarios, this script will be one good assistant.
Acknowledgement: Thanks Stephanie Lv for collecting the script idea. Thanks Sharp Wang for producing the script sample.
Download: CheckSQLInstanceVersionNumber.zip
http://gallery.technet.microsoft.com/scriptcenter/Check-SQL-Server-missing-ac29a3ed
Description: This script will demo how to check SQL Server missing update KB2277078 to prevent leak of security audit entries in TokenAndPermUserStore. User Scenarios: When we create and enable a SQL Server audit on a computer that is running Microsoft SQL Server 2008 R2 or Microsoft SQL Server 2008, the TokenAndPermUserStore cache store continues to grow in size. Additionally, the size does not decrease even when we run the DBCC FREESYSTEMCACHE command, this issue occurs because a memory leak occurs when a SQL Server audit is enabled on an object. To fix it, for different versions, we should install the corresponding updates. Acknowledgement: Thanks Sharp Wang for collecting the script idea and producing the script sample.
Description: This script will demo how to check SQL Server missing update KB2277078 to prevent leak of security audit entries in TokenAndPermUserStore.
User Scenarios: When we create and enable a SQL Server audit on a computer that is running Microsoft SQL Server 2008 R2 or Microsoft SQL Server 2008, the TokenAndPermUserStore cache store continues to grow in size. Additionally, the size does not decrease even when we run the DBCC FREESYSTEMCACHE command, this issue occurs because a memory leak occurs when a SQL Server audit is enabled on an object. To fix it, for different versions, we should install the corresponding updates.
Acknowledgement: Thanks Sharp Wang for collecting the script idea and producing the script sample.
Download: TopNRowsofGroup.zip
http://gallery.technet.microsoft.com/scriptcenter/How-to-retrieve-the-top-N-248cdc67
Description: This script illustrates how to retrieve the top N rows for each group. The first solution can be used with SQL Server 2000 and upward versions, the second solution applies to SQL Server 2005 and upward versions with common table expression feature and Row_Number() function. User Scenarios: For example, there is a sample table that has three columns and eight rows: ProductID CategoryID UnitPrice ----------- ----------- ----------- 1 1 100 2 1 25 3 1 46 4 1 22 5 2 11 6 2 44 7 2 21 8 3 15 If we want to see the three of the most expensive (UnitPrice) products for each category in the table, the expected result should be: ProductID CategoryID UnitPrice ----------- ----------- ----------- 1 1 100 3 1 46 2 1 25 6 2 44 7 2 21 5 2 11 8 3 15 Acknowledgement: Thanks Jian Kang for collecting the script idea. Thanks Sharp Wang for producing the script sample.
Description: This script illustrates how to retrieve the top N rows for each group. The first solution can be used with SQL Server 2000 and upward versions, the second solution applies to SQL Server 2005 and upward versions with common table expression feature and Row_Number() function.
User Scenarios:
For example, there is a sample table that has three columns and eight rows:
ProductID CategoryID UnitPrice
----------- ----------- -----------
1 1 100
2 1 25
3 1 46
4 1 22
5 2 11
6 2 44
7 2 21
8 3 15
If we want to see the three of the most expensive (UnitPrice) products for each category in the table, the expected result should be:
Acknowledgement: Thanks Jian Kang for collecting the script idea. Thanks Sharp Wang for producing the script sample.
Download: PublishReportInIntegratedMode.zip
http://gallery.technet.microsoft.com/scriptcenter/Publish-report-to-0ca69662
Description: This VB.NET sample script illustrates how to publish a report from a computer path to Reporting Services in SharePoint integrated mode. This script applies to SQL Server Reporting Services 2008 R2 integrated with SharePoint 2010. User Scenarios: Starting from SQL Server 2008 R2, the rs utility is supported against report servers that are configured for SharePoint integrated mode as well as servers configured in native mode. Today, most of the available script samples correspond to the native mode. This sample script will ease the problems in below two scenarios: The report server configured to SharePoint integrated mode. The published report use embedded data source or shared data source.
Description: This VB.NET sample script illustrates how to publish a report from a computer path to Reporting Services in SharePoint integrated mode. This script applies to SQL Server Reporting Services 2008 R2 integrated with SharePoint 2010.
User Scenarios: Starting from SQL Server 2008 R2, the rs utility is supported against report servers that are configured for SharePoint integrated mode as well as servers configured in native mode. Today, most of the available script samples correspond to the native mode. This sample script will ease the problems in below two scenarios:
The report server configured to SharePoint integrated mode.
The published report use embedded data source or shared data source.
Acknowledgement: Thanks Challen Fu for collecting the script idea. Thanks Sharp Wang for producing the script sample.
Download: bulksetTimeout.zip
http://gallery.technet.microsoft.com/scriptcenter/Bulk-set-the-Timeout-10dcd062
Description: This Visual Basic.NET sample script illustrates how to bulk set the Timeout property of the reports that in one specified folder via SSRS web services. This script applies to SQL Server Reporting Services 2005, 2008, 2008 R2 and 2012 versions in native mode. User Scenarios: Manually, we can make use of Report Manager to modify the Report Timeout property of the reports one by one, but if we have a lot of reports which need to apply this setting, don't we want to replicate in doing this tedious action? The answer is no, we can author a VB.NET script and save it into a .rss file, then take use of RS utility to execute this script with specified parameters. As a result, we can bulk apply this setting to multiple reports. This script will ease IT profs' work in these two scenarios: Need to set this property for multiple reports These reports organized in the same folder or path
Description: This Visual Basic.NET sample script illustrates how to bulk set the Timeout property of the reports that in one specified folder via SSRS web services. This script applies to SQL Server Reporting Services 2005, 2008, 2008 R2 and 2012 versions in native mode.
User Scenarios: Manually, we can make use of Report Manager to modify the Report Timeout property of the reports one by one, but if we have a lot of reports which need to apply this setting, don't we want to replicate in doing this tedious action? The answer is no, we can author a VB.NET script and save it into a .rss file, then take use of RS utility to execute this script with specified parameters. As a result, we can bulk apply this setting to multiple reports. This script will ease IT profs' work in these two scenarios:
Acknowledgement: Thanks Bill Lu for collecting the script idea. Thanks Sharp Wang for producing the script sample.
Download: addpolicy.zip
http://gallery.technet.microsoft.com/scriptcenter/Add-one-usergroup-to-one-59b89695
Description: This Visual Basic.NET sample script illustrates how to add one user or one group to a SQL Server Reporting Services item by referencing SSRS web services. This script applies to SQL Server Reporting Services 2005, 2008, 2008 R2 and 2012 versions in native mode. User Scenarios: Add a user or a group and grant certain permission on specify item is one question frequently meet in Reporting Services administration. Traditionally, IT professionals can finish this task in Report Manager web site. Actually, using one rss script with variables can also achieve the same effect as using UI.
Description: This Visual Basic.NET sample script illustrates how to add one user or one group to a SQL Server Reporting Services item by referencing SSRS web services. This script applies to SQL Server Reporting Services 2005, 2008, 2008 R2 and 2012 versions in native mode.
User Scenarios: Add a user or a group and grant certain permission on specify item is one question frequently meet in Reporting Services administration. Traditionally, IT professionals can finish this task in Report Manager web site. Actually, using one rss script with variables can also achieve the same effect as using UI.
Acknowledgement: Thanks Sharp Wang for collecting the script idea, and producing the script sample.
Download: PropertiesOfObjectsInMultipleInstances.zip
http://gallery.technet.microsoft.com/scriptcenter/Get-properties-of-the-41d810f6
Description: This Windows PowerShell sample script helps you to get the properties of the objects in multiple SQL Server instances or SQL Server groups. It applies to SQL Server 2005, SQL Server 2008, SQL Server 2008 R2 and SQL Server 2012. User Scenarios: IT administrators frequently ask this question in the TechNet forums: how to get all logins/databases/agent jobs and their properties of multiple SQL Server instances? In traditional ways, we can write T-SQL query and obtain the expected results one by one. By using the following script, you can resolve the problems in below scenarios: The objects belong to different instances or SQL Server group. For different object, you would like to obtain the different properties. Output the results in individual files for each object.
Description: This Windows PowerShell sample script helps you to get the properties of the objects in multiple SQL Server instances or SQL Server groups. It applies to SQL Server 2005, SQL Server 2008, SQL Server 2008 R2 and SQL Server 2012.
User Scenarios: IT administrators frequently ask this question in the TechNet forums: how to get all logins/databases/agent jobs and their properties of multiple SQL Server instances? In traditional ways, we can write T-SQL query and obtain the expected results one by one. By using the following script, you can resolve the problems in below scenarios:
Script of the Day
Script Download: PublishReportInIntegratedMode.zip http://gallery.technet.microsoft.com/scriptcenter/Publish-report-to-0ca69662
This VB.NET sample script illustrates how to publish a report from a computer path to Reporting Services in SharePoint integrated mode. This script applies to SQL Server Reporting Services 2008 R2 integrated with SharePoint 2010.
Starting from SQL Server 2008 R2, the rs utility is supported against report servers that are configured for SharePoint integrated mode as well as servers configured in native mode. Today, most of the available script samples correspond to the native mode. This sample script will ease the problems in below two scenarios:
You can find more All-In-One Script Framework script samples at http://aka.ms/onescriptingallery
Script Download: SwitchGUIServerCORE.zip http://gallery.technet.microsoft.com/scriptcenter/Switch-between-Windows-9680265d
This PowerShell script sample can be used to switch from a full installation user interface server to the server core mode in Windows Server 2012. It can also switch Windows Server 2012 from the server core mode to the full UI mode.
After setting up Windows Server 2012, IT Administrators may need to convert it to the server core for some security reason. Sometimes, it's more convenient for IT administrators to switch back to the UI mode to modify some configurations. This script sample can help you switch between the two modes in Windows Server 2012.
Script Download: GetMailboxUsageReport.zip http://gallery.technet.microsoft.com/scriptcenter/Get-Mailbox-Usage-Report-72a72976
This script creates mailbox usage report in Microsoft Exchange 2010. It will use IssueWarningQuota and TotalItemSize to calculate the usage rate.
In a real world, IT Administrators may want to know the usage rate of specific mailboxes. They can use Exchange Management Shell to get total item size and issue warning quota for mailboxes very easily. But issue warning quota could be set for all of the mailboxes in a database or on a per-mailbox basis. IT administrators need a script to help them to decide which quota is applied. Then, they want to use correct issue warning quota to calculate the mailbox usage.
Script Download: ModifyPictureCompressionResolutionSetting.zip http://gallery.technet.microsoft.com/scriptcenter/Modify-Picture-Compression-e669d72e
This PowerShell script demo illustrates how to modify picture compression resolution settings in PowerPoint 2007. This question is asked by many users in the TechNet forum. They want to pre-configure picture compression in PowerPoint 2007.
Script Download: ImportLyncClientContacts.zip http://gallery.technet.microsoft.com/scriptcenter/Import-Contacts-for-Lync-5fe0e671
This script could be used to import custom groups and distribution groups for Microsoft Lync 2010.
In a real world, IT help desks are often required to add dozens of predefined custom groups or distribution groups for Lync clients in different department. It is a time-consuming task for adding predefined custom group or distribution group for each Lync client.
Here are some code snippets: