X Blogs

who you gonna call?

Remote Server Administration Tools for Windows 7 SP1 available for download

clock April 12, 2011 21:38 by author joze

RSAT Client is the collection of Windows Server management tools which enable IT professionals to manage their Windows Server infrastructure from their PCs running Windows 7 SP1 and Windows 7.

This is the list of Windows Server administration tools which are included in RSAT Client for Win7 SP1:

Server Administration Tools:
Server Manager

Role Administration Tools:
Active Directory Certificate Services (AD CS) Tools
Active Directory Domain Services (AD DS) Tools
Active Directory Lightweight Directory Services (AD LDS) Tools
DHCP Server Tools
DNS Server Tools
File Services Tools
Hyper-V Tools
Terminal Services Tools

Feature Administration Tools:
BitLocker Password Recovery Viewer
Failover Clustering Tools
Group Policy Management Tools
Network Load Balancing Tools
SMTP Server Tools
Storage Explorer Tools
Storage Manager for SANs Tools
Windows System Resource Manager Tools

Download page at Microsoft Download Center: RSAT for Windows 7 with SP1

If you followed my previous post on how to manually install RSAT tools on Windows 7 with SP1 you can also install this update on your PC over existing RSAT tools.



Windows Azure Cache Dependency

clock April 11, 2011 08:07 by author Rok Bermež

We are supposed to get Windows AppFabric Cache real soon, but till than form time to time we need to synchronize content cached inside our Web roles. SqlDependency is one way, but it cannot solve all problems (especialy those that are not based on SQL data). So to help with the matter I wrote AzureStorageCacheDependency that uses Azure storage to know when data is outdated and cache shloul be cleared. If anyone is in need of something similar, here it goes:

public class AzureStorageCacheDependency : System.Web.Caching.CacheDependency
    {
        private System.Threading.Timer _timer;
        private int _poolTime;
        private CloudBlob _blob;
        private string _key;

        public AzureStorageCacheDependency(string connectionString, string conteinerAddress, string blobAddress, int poolTime = 5000)
        {
            _poolTime = poolTime;
            using (AzureContext azureContext = new AzureContext(true))
            {
                var storageAccount = CloudStorageAccount.Parse(connectionString);
                CloudBlobClient blobStorage = storageAccount.CreateCloudBlobClient();
                CloudBlobContainer container = blobStorage.GetContainerReference(conteinerAddress.ToLower());
                container.CreateIfNotExist();
                _blob = container.GetBlockBlobReference(blobAddress.ToLower());
                if (!Exists(_blob))
                {
                    Reset();
                }
                else
                {
                    _key = _blob.DownloadText();
                }
            }
            _timer = new Timer(new System.Threading.TimerCallback(CheckDependencyCallback), this, 0, _poolTime);
        }



        public void Reset()
        {
            _key = Guid.NewGuid().ToString();
            _blob.UploadText(_key);
        }

        private void CheckDependencyCallback(object sender)
        {
                if (!Exists(_blob) || _key != _blob.DownloadText())
                {
                    NotifyDependencyChanged(this, EventArgs.Empty);
                    _timer.Dispose();
                }
        }

        public static bool Exists(CloudBlob blob)
        {
            try
            {
                blob.FetchAttributes();
                return true;
            }
            catch (StorageClientException e)
            {
                if (e.ErrorCode == StorageErrorCode.ResourceNotFound)
                {
                    return false;
                }
                else
                {
                    throw;
                }
            }
        }
    }

    public class AzureContext : IDisposable
    {
        HttpContext _oldHttpContext;
        bool _restoreOldHttpContext = false;


        public AzureContext(bool forceSettingContextToNull = false)
        {
            if (forceSettingContextToNull)
            {
                _oldHttpContext = HttpContext.Current;
                HttpContext.Current = null;
                _restoreOldHttpContext = true;
            }
            else
            {
                try
                {
                    HttpResponse response = HttpContext.Current.Response;
                }
                catch (HttpException)
                {
                    _oldHttpContext = HttpContext.Current;
                    HttpContext.Current = null;
                    _restoreOldHttpContext = true;
                }
            }
        }


        public void Dispose(bool disposing)
        {
            if (disposing)
            {
                if (_restoreOldHttpContext)
                {
                    HttpContext.Current = _oldHttpContext;
                }
            }
        }


        public void Dispose()
        {
            Dispose(true);
        }


        ~AzureContext()
        {
            Dispose(false);
        }
    }


SBSC – 2011.04 – Freeware tools for administration

clock April 6, 2011 07:24 by author joze

Today I was presenting at SBSC. Attached to this post is my presentation. In it you can hopefully find some useful resources that will help you do the things you do a little faster.

Also worth checking:
- Mon.itor.us

 



ASP.NET MVC 3 AJAX REDIRECT RESULT

clock April 5, 2011 23:31 by author Rok Bermež
From time to time, we need to selectively redirect the browser to another location as a 
result of an AJAX action. Just returning RedirectResult won’t do the trick (even if we
are used to similar functionality in ASP.NET AJAX in combination with WebForms ). Here
is a very simple RedirectResult thet will be appropriate in those scenarios:

public class AjaxRedirectResult : RedirectResult { public AjaxRedirectResult(string url): base(url){} public override void ExecuteResult(ControllerContext context) { if (context.RequestContext.HttpContext.Request.IsAjaxRequest()) { JavaScriptResult result = new JavaScriptResult() { Script = String.Format("window.location='{0}';",
UrlHelper.GenerateContentUrl(Url, context.HttpContext)) }; result.ExecuteResult(context); } else base.ExecuteResult(context); } }


Internet Explorer 9 RTM

clock March 16, 2011 20:13 by author joze

You can download Internet Explorer 9 in the language that matches your version of Windows or choose the English version, which works with all versions of Windows Vista and Windows 7.

Internet Explorer 9 Download – all available languages and system versions
Group Policy Settings Reference Windows Internet Explorer 9
Windows Internet Explorer 9 Language Packs for Windows 7 and Windows Server 2008 R2
Internet Explorer 9 Product Guide
Internet Explorer Administration Kit 9

Preparing Your Site for IE9



Windows 7 SP1

clock March 12, 2011 12:42 by author joze

Something probably worth checking out (before you start to deploy SP1):

- Deployment Guide for Windows Server 2008 R2 with SP1 and Windows 7 with SP1
- How to Fix Windows 7 SP1’s “Installation Was not Successful “ Error
- If you are seeing a Fatal error C0000034
- Windows 7 Ultimate SP1 installation fails with error code c0000034
- Windows 7 SP1 fails to install with 0x800f0a13 or 0x800f0826



Windows Azure Platform SDK 1.4 Released

clock March 11, 2011 18:14 by author Rok Bermež

SDK 1.4 is available and it  fixes several significant bugs including the nasty RDP bug and adds capabilities like multiple administrator support from the enhanced Windows Azure Connect portal.

Bug Fixes:

  • Resolved an issue that caused full IIS fail when the web.config file was set to read-only.
  • Resolved an issue that caused full IIS packages to double in size when packaged.
  • Resolved an issue that caused a full IIS web role to recycle when the diagnostics store was full.
  • Resolved an IIS log file permission Issue which caused diagnostics to be unable to transfer IIS logs to Windows Azure storage.
  • Resolved an issue preventing csupload to run on x86 platforms.
  • User errors in the web.config are now more easily diagnosable.
  • Enhancements to improve the stability and robustness of Remote Desktop to Windows Azure Roles.

New Features

  • Windows Azure Connect:
    • Multiple administrator support on the Admin UI.
    • An updated Client UI with improved status notifications and diagnostic capabilities.
    • The ability to install the Windows Azure Connect client on non-English versions of Windows.
  • Windows Azure CDN:
    • Windows Azure CDN for Hosted Services: Developers can now use the Windows Azure Web and VM roles as"origin" for objects to be delivered at scale via the Windows Azure CDN. Static content in a website can be automatically edge-cached at locations through out the United States, Europe, Asia, Australia and South America to provide maximum bandwidth and lower latency delivery of website content to users.
    • Serve secure content from the Windows Azure CDN: A new checkbox option in the Windows Azure management portal enables delivery of secure content via HTTPS through any existing Windows Azure CDN account.

You may download the new Windows Azure 1.4 SDK here.



SloWUG–2011.03–Freeware tools for administration

clock March 10, 2011 22:59 by author joze

Yesterday I was presenting at SloWUG. Attached to this post is my presentation. In it you can hopefully find some useful resources that will help you do the things you do a little faster.

Brezplacna orodja in administracija.pptx



SLOWUG - marec 2011

clock March 10, 2011 20:33 by author Robi

Pozdravljeni,

objavljam prezentacijo, ki sem jo uporabil na SloWUG srečanju o namestitvi in konfiguraciji SharePoint 2010 Serverja.

SLOWUG-SharePoint 2010 install_Config.pptx (2,30 mb)



SharePoint Print List Item

clock March 1, 2011 00:05 by author Robi

Hi,

 

I received a question how to easily create a print form for a SharePoint list item.

This is the easiest way I can think of.

  1. Open SharePoint Designer and open your list files. Create new aspx page.

2. Edit your newly created aspx page in Advanced mode.

3.Open you aspx page in split mode and click in to the design window. From the ribbon, choose Insert/SharePoint and select Custom List Form.

4.Select the list you want to create new list form for and select Display Form.

5. Insert HTML button and insert on click event handler to "window.print()"

6. Go to Allitems.aspx and open it in Advanced mode. Add column to the right and just type "Print Preview".

7. Add hyperlink to your text.

8.Browse to your custom list form and add "?ID={@ID}.

9. Try it out...

 

Hope it helps!!



About the author

Rok Bermež is Slovenian Windows Azure MVP, he works as a Software Engineer and Microsoft Certified Trainer at Kompas Xnet. His primary interests include cloud computing and web development. With extensive experience in development and architecture he participated in many projects and since the CTP release of Windows Azure much of those projects are based on Windows Azure platform. Rok has been delivering courses, writing code and speaking at conferences and community events on Microsoft technologies for the last couple of years. You can also find him on Twitter (@Rok_B).

Month List

Sign In