Wednesday, August 8, 2018

PS 1.8.2 Working with File System

Below are some cmdlets you can use to work with cmdlets

cd \
dir
help dir 

cd training: # training is a psdrive 
dir | more
#lists just folders
dir -Directory
#list just files and recurse
dir -File -Recurse
#filtering is can by tricky
#this will work
dir .\*.txt 
dir -filter *.txt
#so will this if your recurse
dir -include *.txt -Recurse

help filesystem

PS 1.8.1 What is Powershell Drive ?

A Windows PowerShell drive is a data store location that you can access like a file system drive in Windows PowerShell. The Windows PowerShell providers create some drives for you, such as the file system drives (including C: and D:), the registry drives (HKCU: and HKLM:), and the certificate drive (Cert:), and you can create your own Windows PowerShell drives. These drives are very useful, but they are available only within Windows PowerShell. You cannot access them by using other Windows tools, such as File Explorer or Cmd.exe.


Get-Command -Noun PSdrive # gives list of commands  of psdrive
help Get-PSDrive  
Get-PSDrive # gives list of PSdrives

help New-PSDrive 
New-PSDrive -Name Training -PSProvider FileSystem -Root D:\Trainings # creates new psdrive
New-PSDrive i FileSystem -Root \\server\Trainings  # creates Network drive or Maps Network drive. 'I ' here is drive letter 
get-psdrive 


Sunday, July 29, 2018

Azure 2.5 : What is Azure RDFE (Red Dog Front End) ?


Azure Portal Service passes service package to “Red Dog Front End” (RDFE).
RDFE converts service package to native “RD” version. RDFE sends service to Fabric Controller (FC) based on target region.

FC queues request in repository, than deploys and activates service.
XLS –Xlocation
Xlocation redirects the request to a particular datacenter as per the user’s initial selection.
It has a mapping table which correlates requests and the corresponding datacenter. 
For example if an application needs to be deployed in US South West, then XLS will redirect it to Chicago Datacenter

Azure 2.4 : Azure Unified Fabric controller,Fabric Agent & Guest Agent


UFC (Fabric controller of 1st Cluster of Azure Datacentre)
There will be 5 FCs in each cluster. One will be Primary, others are secondary.
Fabric Agent lies in every Blade
Guest Agent lies in every VM
Request Flow path UFC -> FC -> FA -> GA

Azure 2.3 : what is Azure Fabric Controller (FC) ?




1.Azure Fabric Controller (FC) is the part of the  Azure platform that monitors and manages servers and coordinates resources for software applications.

2.Azure Fabric Controller functions as the kernel of the Azure operating system. It provisions, stores, delivers, monitors and commands the virtual machines (VMs) and physical servers that make up Azure.

Datacenters are divided into “clusters”
–Approximately 900 rack-mounted server per cluster (we call them “nodes”)

Each cluster is managed by a Fabric Controller (FC)

 FC is responsible for:
–Blade provisioning
–Blade management
–Service deployment 

UFC is Unified Fabric Control, it Manages and controls Fabric controllers in the Data center .It is the 1st Fabric Controller in the Datacenter



Azure 2.2 : Azure datacentre Clusters -(Backend)


There are 3 Types of Azure Backend Clusters
1)Compute Cluster
2)SQL Cluster
3)Storage Cluster

Azure  cluster is Made of
§A Pair of AGG Switches
§2 Pairs of Load Balancers
§20 Racks
§44 Blades per rack
§Total 880 Blades in single cluster
§12-15 Virtual Machines can be created in each Blade



















Azure Rack Architecture :
TOR - Top of the Rack. L3 Switch - which connects to Network interface cards of all blades in rack
Digi - Serial connector to all blades used to push basic Operating system/Maintainance Operating System to blades
PS1 & PS2 - Power Strips - Can be controlled remotely . Any Blade in the rack can be turned on and turned off using it.

Azure 2.1 Azure Datacentre Architecture Overview


Datacentre Architecture

Basic Azure Datacentre consists of the following things and the connectivity is shown below:
§Edge router
§Core Router
§Access Routers(Nexus 7k )
§3 Aggregator Switch`s per each Nexus Router
§2 Load Balancers per Aggregator
§Racks(10-20)
§One TOR, One DIGI and 44 Nodes per Rack



Azure 2.0 Azure Regions and Data Centers



Azure has more global regions than any other cloud provider. As for today there are 140 datacenters across 54 regions.

Please follow below link for latest updates on regions and datacenters
Courtesy : https://azure.microsoft.com/en-in/regions/

Azure 1.2 Deployment Model: What is Public,Private & Hybrid cloud ?

Public cloud:
The cloud infrastructure is owned by an organization(Microsoft) that sells cloud services.
Private cloud:
The cloud infrastructure is owned, or leased by a single enterprise and is operated solely
for that enterprise.
Hybrid cloud:
public and private clouds that are integrated and bound together to enable data and
application portability.

Azure 1.1 Service Model : What is IAAS ,PAAS & SAAS ?

IAAS (Infrastructure as a Service)
Basic compute power and storage resources are provided by service provider
Need to manage many components apart from your application
You have more control
ex : Azure VNets, Azure VM… etc.

PAAS (Platform as a Service)
Your application under Managed Infrastructure
Need to manage only your application
You have limited control
ex: Azure App services, Azure cloud services… etc.

SAAS (Software as a Service)
Cloud applications/On demand applications ready for use
You don’t have control at all
ex: Azure Active Directory ,office365… etc.

Difference between IAAS, PAAS and SAAS

Azure 1.0 What is Cloud Computing & Types of cloud ?

In the simplest terms, cloud computing means storing and accessing data and programs over the
Internet instead of your computer's hard drive. The first use of “cloud computing” in its modern context occurred on August 9, 2006, when then Google CEO Eric Schmidt introduced the term to an industry Conference.

Types of Cloud

1. Service Model : (SaaS, Pass and IaaS )
2. Deployment Model : (Private Cloud , Public and Hybrid )

Saturday, July 28, 2018

Powershell 1.8.0 - What is PSProvider ?

PSProviders are basically data stores. you can handle those like a normal datasystem folder. get-psproviders will get you a list of all the psproviders.

example: with cmd.exe it was not possible to change your current location to the Registry. you had the possibility to change registry settings with cmd, but you can not handle it like a directory or cdto the registry.
in PowerShell, the Registry is a PSProvider. means you can access it like a datasystem folder. if you type cd hklm: you're actually inside the local machine registry, and can access its content with Get-ChildItem
this has the advantage that you can provide for example PSDrives which actually point into the registry.
New-PSDrive -name G -PSProvider Registry -Root HKCU:\Software
The G:\ Drive is now mapped to the Current User > Software Registry. (only for the current PSSession)
There are a lot of functionalities you can do with PSProviders. you should execute and read get-help about_providers for further information.

Wednesday, July 18, 2018

PowerShell 1.7.2 - Update Help and Save Help



Update-Help checks the version of the help files on your computer. If you do not have help files for a module or do not have the newest help files for a module, Update-Help downloads the newest help files from the Internet or a file share and installs them on your computer in the correct module folder.



Save-Help cmdlet downloads the newest help files for Windows PowerShell modules and saves them to a directory that you specify. This feature lets you update the help files on computers that do not have access to the Internet, and makes it easier to update the help files on multiple computers.

#save help
help save-help -showwindow
Save-Help -destination D:\Trainings\help -force

#updating help from source
Update-help -source D:\Trainings\help -force



Powershell 1.7.1 : Get-help online and Get-help show window


get- help invoke-command -online

This command displays the online version of the help topic for the mentioned cmdlet in your default web browser.




show window displays output in a window
get-help get-eventlog -showwindow
get-help about_switch -showwindow

Displays output as below





PowerShell 1.7 : Using Help in Powershell

Displays information about Windows PowerShell commands and concepts. To get help for a
Windows PowerShell command, type `Get-Help` followed by the command name, such as: `Get-
Help Get-Process`. To get a list of all help topics on your system, type `Get-Help * However, starting
in Windows PowerShell 3.0, the modules that come with the Windows operating system do not
include help files. To download or update the help files for a module in Windows PowerShell 3.0,
use the Update-Help cmdlet.

Get-help
Update-help

help get-service
help get-service -detailed
help get-service -full
help get-service -examples
The Detailed parameter displays the detailed view of the help topic, which includes parameter descriptions and examples.
The Full parameter displays the full view of the help topic, which includes parameter descriptions, examples, input and output object types, and additional notes.
The Detailed and Full parameters are effective only for the commands whose help files are installed on the computer. They are not effective for the conceptual ("about_") help topics.
The Examples parameter displays only the NAME, SYNOPSIS, and all Examples. You can not specify an Example number because the Examples parameter is a switch parameter.


PowerShell 1.6 : Alias , Get-alias , what is % in Powershell , what is ? in Powershell

Get-Alias cmdlet gets the aliases in the current session. This includes built-in aliases, aliases that you have set or imported, and aliases that you have added to your Windows PowerShell profile.
By default, Get-Alias takes an alias and returns the command name. When you use the Definitionparameter, Get-Alias takes a command name and returns its aliases.
what is % and ? in Powershell alias 
% - foreach-object
? - Where-object 



Powershell 1.5 : PowerShell ISE and File Extension

PowerShell ISE

The Windows PowerShell Integrated Scripting Environment (ISE) is one of two hosts for the
Windows PowerShell engine and language. With it you can write, run, and test scripts in ways that
are not available in the Windows PowerShell Console

Extension : PowerShell scripts (files suffixed by .ps1 )

Below is how ISE looks Like with
Script Pane (In White), Execution Pane (In Blue), On right side you can find the cmdlets from each Module


Powershell 1.4 : About Cmdlets and get-command

In PowerShell, administrative tasks are generally performed by cmdlets (pronounced command-
lets).Cmdlets are specialized commands in the PowerShell environment that implement specific
functions. Cmdlets follow a Verb-Noun naming pattern, such as Get-ChildItem, helping to make them
self-descriptive. Sets of cmdlets may be combined into scripts & executable

Get-command ---> gives all commands that includes cmdlets,functions ,alias,workflow...etc

#lists only cmdlets 
get-command -CommandType cmdlet -ListImported 



Get commands with a verb
get-command -verb export





Get command with a Noun
get-command -noun ACL

Friday, July 6, 2018

PS Tool 1.2 - Get Windows Operating System,OS Architecture,OS Install Date ,Last BootUp Time,Total Uptime

Use below to get the following details using powershell from any computer

  • Windows Operating System
  • OS Architecture
  • OS Install Date 
  • Last BootUp Time
  • Total Uptime

$computers = "CM","DC","WIN7"
$os = Get-CimInstance Win32_operatingSystem -ComputerName $computers
$os | Select Caption,OSArchitecture,InstallDate,LastBootUpTime, `
@{Name="Uptime";Expression={(Get-Date)-$_.LastBootUpTime}},PSComputername


PS Tool 1.1 -Script to find the file size and count with file extensions

Use below script to find the file size and count with file extensions

Get-childitem c:\work -file -recurse | where extension | group extension | 
Select Name,Count,@{Name="Size";Expression={($_.group | measure length -sum).sum} }|
 Sort Size -Descending | format-table -AutoSize

Alias - Get-childitem / dir / ls







Wednesday, July 4, 2018

Saturday, June 30, 2018

Powershell 1.2 - PowerShell Versions

PowerShell has five different PowerShell versions currently available.
PowerShell 2.0 and PowerShell 3.0 were major releases, with many new important features.

PowerShell 4.0 was only released one year after PowerShell 3.0. Thus, we couldn’t expect too many enhancements. Its main new feature is Desired State Configuration (DSC), a new platform for
managing Windows services and their environment.

PowerShell VersionRelease DateDefault Windows VersionsAvailable Windows Versions
PowerShell 1.0November 2006Windows Server 2008 (*)Windows XP SP2
Windows XP SP3
Windows Server 2003 SP1
Windows Server 2003 SP2
Windows Server 2003 R2
Windows Vista
Windows Vista SP2
PowerShell 2.0October 2009Windows 7
Windows Server 2008 R2 (**)
Windows XP SP3
Windows Server 2003 SP2
Windows Vista SP1
Windows Vista SP2
Windows Server 2008 SP1
Windows Server 2008 SP2
PowerShell 3.0September 2012Windows 8
Windows Server 2012
Windows 7 SP1
Windows Server 2008 SP2
Windows Server 2008 R2 SP1
PowerShell 4.0October 2013Windows 8.1
Windows Server 2012 R2
Windows 7 SP1
Windows Server 2008 R2 SP1
Windows Server 2012
PowerShell 5.0February 2016Windows 10Windows 7 SP1
Windows 8.1
Windows Server 2012
Windows Server 2012 R2
PowerShell 5.1January 2017Windows 10 Anniversary Update
Windows Server 2016
Windows 7 SP1
Windows 8.1
Windows Server 2008 R2 SP1
Windows Server 2012
Windows Server 2012 R2

PowerShell 1.1 - What Is Powershell ?

A Shell is a user interface that gives access to various services of an Operating System.

Windows PowerShell is a Shell Developed by Microsoft for the purpose of Task Automation & Configuration Management

Series1 - PowerShell Basics - Start-Series

Hi All ,

I am about to start a Training Series on powershell which will Include Powershell basics and Tool Making. Hoping this will be helpful to you folks.

Thank you

Featured Posts

Adding Accesspolicy to KeyVault for Service Principal Using Portal and Powershell

  Scripts path : https://drive.google.com/drive/folders/1sbBpnVFgXhUIXLdf2E9heyWDeU2f9427?usp=sharing  Adding Accesspolicy to KeyVault for S...