Server 2008 R2, ‘Powershell’ is not recognized as an internal or external command …

While working on a task scheduling a powershell script, it was noticed that the powershell command does not execute from the command prompt on a server. When run I would encounter the following error: ‘powersehll’ is not recognized as an internal or external command, operable program or batch file.

After searching around Google / Bing I gave up and made the following attempt which worked out for myself and the system owners.

Looking at the system PATH variable seems correct with the expected path variable included under system variables: %SYSTEMROOT%\System32\WindowsPowerShell\v1.0\

I decided to check with my user only: I added ‘%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\’ to my user variable with success

In the systems path variables and removed the reference and added it to the end of the line which was successful in resolving the system wide issue.

Notes: This is a snapshot of before and after changes introduced which resolved my issue

%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\;C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies\;C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\

%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\;C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies\;C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\

Cause of issue is still unknown.  Perhaps an ordering issues in the variables.  If you know please feel free to comment.


[SOLVED] Unable to migrate VM’s to other host

I had encountered the following issue when attempting to migrate a live VM to another host w/in my lab cluster.
The error received was: 

Currently connected network interface” ‘Network adapter 1’ cannot use network ‘VM Network’, because “the destination network on the destination host is configured for different offload or security policies than the source network on the source host”.

I was able to fix this by checking the configuration of the virtual switch (vSwitch0) on the ESXi host I was moving the virtual machine guest to.

  1. I click on each host went to the configure
  2. Under the Networking subsection located the virtual switch
  3. Selected edit on that virtual switch.
  4. Reviewed the settings in the Security tab and the Traffic Shaping tab between the hosts.

In my case the issue was with the Security tab.  The destination host did not match the source.
Just another reasons to use host profiles between systems so that settings all match.


VMware vCenter 6/6.5: Creating Host Profiles

This post describes how to perform the basic task of creating a host profile.
Description of Hos Profiles:

VMware Host Profiles are available through VMware vCenter Server and enable you to establish standard configurations for VMware ESXi hosts and to automate compliance to these configurations, simplifying operational management of large-scale environments and reducing errors caused by mis-configurations.


  1. You need to have a vSphere installation
  2. You need to have admin rights
  3. You need a configured ESXi host that acts as the reference model


  1. In vCenter Navigate to the Host profiles view
  2. Click the Extract profile from a host icon
  3. Select the host that will act as the reference model host and click Next
  4. Enter the name and  a description for the new profile and click Next
  5. Review the summary information for the new profile and click Finish
  6. The new profile will appear in the profile list



VMware / vCenter: Terms, Acronyms, Glossary {Tag your IT}

Recently I have taken, failed later taken and passed my VMware 2V0–620 – vSphere 6 Foundations Exam and passed. I am now in the process of practicing and studying for proctored exam(s) for the VMware Certified Professional 6 – Data Center Virtualization Certificate.

With that there are many terms, acronyms, and Glossary items I will need to remember.
I am adding a list of terms and will expand on them as I come across new ones.


VM: Virtual Machine – a software computer that, like a physical computer, runs an operating system and applications.

ESXi: The vSphere Hypervisor from VMware (formerly ESX) is an enterprise-class, type-1 hypervisor.

VMFS: Virtual Machine File System for ESXi hosts, a clustered file system for running VMs

DCUI: Direct Console User Interface

iSCSI: Ethernet-based shared storage protocol.

SAS: Drive type for local disks (also SATA).

FCoE: Fibre Channel over Ethernet, a networking and storage technology.

HBA: Host Bus Adapter for Fibre Channel storage networks.

LUN: Logical unit number, identifies shared storage (Fibre Channel/iSCSI).

IOPs: Input/Outputs per second, detailed measurement of a drive’s performance.

pRDM: Physical mode raw device mapping, presents a LUN directly to a VM.

vRDM: Virtual mode raw device mapping, encapsulates a path to a LUN specifically for one VM in a VMDK.

SAN: Storage area network, a shared storage technique for block protocols (Fibre Channel/iSCSI).

NAS: Network attached storage, a shared storage technique for file protocols (NFS).

NFS: Network file system, a file-based storage protocol.

DAS: Direct attached storage, disk devices in a host directly.

VAAI: vStorage APIs for Array Integration, the ability to offload I/O commands to the disk array.

SSD: Solid state disk, a non-rotational drive that is faster than rotating drives.

VM Snapshot: A point-in-time representation of a VM.

ALUA: Asymmetrical logical unit access, a storage array feature. Duncan Epping explains it well.

VMX: VM configuration file.

VMEM: The page file of the guest VM.

NVRAM: A VM file storing the state of the VM BIOS.

VMDK: The virtual machine disk format, containing the operating system of the VM. VMware’s virtual disk format.

VMSN: Snapshot state file of the running VM.

VMSD: VM file for storing information and metadata about snapshots.

VMSS: VM file for storing suspended state.

VMTM: VM file containing team data.

VMXF: Supplemental configuration file for when VMs are used in a team.

Quiesce: The act of quieting (pausing running processes) a VM, usually through VMware Tools.

NUMA: Non-uniform memory access, when multiple processors are involved their memory access is relative to their location.

Virtual NUMA: Virtualizes NUMA with VMware hardware version 8 VMs.

VSAN: Virtual SAN, a new VMware announcement for making DAS deliver SAN features in a virtualized manner.

vSwitch: A virtual switch, places VMs on a physical network.

vDS: vNetwork Distributed Switch, an enhanced version of the virtual switch.

ISO: Image file, taken from ISO 9660file system for optical drives.

vSphere Client: Administrative interface of vCenter Server.

vSphere Web Client: Web-based administrative interface of vCenter Server.

Host Profiles: Feature to deploy a pre-determined configuration to an ESXi host.

Auto Deploy: Technique to automatically install ESXi to a host.

VUM: vSphere Update Manager, a way to update hosts and VMs with latest patches, VMware Tools and product updates.

vCLI: vSphere Command Line Interface, allows tasks to be run against hosts and vCenter Server.

vSphere HA: High Availability, will restart a VM on another host if it fails.

vCenter Server Heartbeat: Will keep the vCenter Server available in the event a host fails which is running vCenter.

Virtual Appliance: A pre-packed VM with an application on it.

vCenter Server: Server application that runs vSphere.

vCSA: Virtual appliance edition of vCenter Server.

vCloud Director: Application to pool vCenter environments and enable self-deployment of VMs.

vCloud Automation Center: IT service delivery through policy and portals, get familiar with vCAC.

VADP: vSphere APIs for Data Protection, a way to leverage the infrastructure for backups.

MOB: Managed Object Reference, a technique vCenter uses to classify every item.

DNS: Domain Name Service, a name resolution protocol. Not related to VMware, but it is imperative you set DNS up correctly to virtualize with vSphere.

vSphere: Collection of VMs, ESXi hosts, and vCenter Server.

vCenter Linked Mode: A way of pooling vCenter Servers, typically across geographies.

vMotion: A VM migration technique.

Storage vMotion: A VM storage migration technique from one datastore to another.

vSphere DRS: Distributed Resource Scheduler, service that manages performance of VMs.

vSphere SDRS: Storage DRS, manages free space and datastore latency for VMs in pools.

Storage DRS Cluster: A collection SDRS objects (volumes, VMs, configuration).

Shares: Numerical value representing the relative priority of a VM.

Datastore: A disk resource where VMs can run.

vSphere Fault Tolerance: An availability technique to run the networking, memory and CPU of a VM on two hosts to accommodate one host failure.

DPM: Distributed Power Management, a way to shut down ESXi hosts when they are not being used and turn them back on when needed.

vShield Zones: A firewall for vSphere VMs.

vCenter Orchestrator: An automation technique for vCloud environments.

OVF: Standards based format for delivering virtual appliances.

OVA: Packaging of OVF, usually as a URL to download the actual OVF from a source Internet site. Read more here.

VMware Tools: A set of drivers for VMs to work correctly on synthetic hardware devices. Read more on VMware Tools.

vSphere Licensing: Different features are available as the licensing level increases, from free ESXi to Enterprise Plus.

vCloud Suite: The collection of technologies to deliver the VMware Software Defined Data Center.

VMware Compatibility Matrix: List of supported storage, servers, and more for VMware technologies. Bookmark this page!

vSphere role: A permissions construct assigned to users or groups.

Configuration Maximums: Guidelines of how big a VM can be; see the newest for vSphere 5.5.

Transparent page sharing: A memory management technique; eliminates duplicate blocks in host memory.

Memory compression: A memory management technique; applies a compressor to active memory blocks on the host.

Balloon driver: A memory management technique; reclaims guest VM memory via VMware Tools.

Hypervisor swap: A memory management technique; puts guest VM memory to disk on the host.

Hot-add: A feature to add a device to a VM while it is running, such as a VMDK.

Dynamic grow: A feature to increase the size of VMDK while the VM is running.

CPU Ready: The percentage of time that the VM is ready to get a CPU cycle (higher number is bad).

Nested hypervisor: The ability to run ESXi as a VM either on ESXi, VMware Workstation, or VMware Fusion.

Virtual hardware version: A revision of a VM that aligns to its compatibility. vSphere 5.5 is hardware version 10, for example.

Maintenance mode: An administration technique where a host evacuates it’s running and powered off VMs safely before changes are made.

vApp: An organizational construct combining one or more VMs.

Cluster: A collection of hosts in a vSphere data center.

Resource pool: A performance management technique, has DRS rules applied to it and contains one or more VMs, vApps, etc.

vSphere folder: An organizational construct, a great way to administer permissions and roles on VMs.

Datacenter: Parent object of the vSphere Cluster.

vCloud Networking and Security: Part of the vCloud Suite; provides basic networking and security functionality.

vCenter Site Recovery Manager: An automated solution to prepare for a site failover event for the entire vSphere environment.

NSX: New technology virtualizing the network layer for VMware environments. Read more here.

VDI: Virtual desktop infrastructure, also called DaaS (Desktop as a Service) from Horizon View; run as ESXi VMs and with vSphere.

VXLAN: VMs with a logical network across different networks.

vCenter Configuration Manager: Part of vCloud Suite that automates configuration and compliance for multiple platforms.

vCenter Single Sign on: Authentication construct between components of the vCloud Suite.

VM-VM affinity: Sets rules so two VMs should run on the same ESXi host or stay separated.

Storage I/O Control: I/O prioritization for VMs.

NIOC: vSphere Network I/O Control – Enabled by default network I/O control is enabled, distributed switch traffic is divided into the following predefined network resource pools: Fault Tolerance traffic, iSCSI traffic, vMotion traffic, management traffic, vSphere Replication (VR) traffic, NFS traffic, and virtual machine traffic.




Restore of Checkpoint Fails with “The following hotfixes seem to be missing”

Ran into a slight snag when attempting to restore a production backup into a VM(*VMware*) image of Checkpoint R77.30. I was using the Gaia WebUI to restore image returns a message: “The following hotfixes seem to be missing”.

The message points me to a log file located under /tmp/ which indicates missing updates to the firewall I am restoring to. To get around this the following steps were taken.


  1. Log into the Checkpoint firewall via SSH to access the console (You could also console in  (i’m using a vm so the terminal would work also).
  2. Enter ‘Expert’ mode (password required.)
  3. The the command: dbset backup:override_hfs t’ from  the expert mode.
  4. Go back into Gain WebUI and attempt the restore of the backup.

Wait … Wait… The system will reboot and the configuration will be restored.

All done.

Cause of this issue was the backup file was taken from a system which had a version different from the system I was restoring into. In some cases, this message can be safely ignored and the restore can be performed without incident.

Please take time to review your configuration after you restore.

Check Point 600 Appliance Software Blade Stuck in Updating status

Recently I had a chance to get my hands on this excellent Firewall by Checkpoint. And as you know not everything goes perfectly, and this is where you get a chance to learn how it works, while you fix.

I encountered an issue where one of the Threat Prevention Blades was stuck in updating mode for several hours. I had logged into the appliance via SSH to view to CPU utilization and observed nothing which would indicate an issue.

I started thinking about what events occurred which may have caused this. So I looked at the auto update schedule for the blades and noticed that all 3 blades where set to upgrade simultaneously.

I have observed that these updated can causes very high consumption of CPU and which that perhaps the blade with the issue became stuck in an upgrading status.

To address this situation, I issued the update command from the CLI :

  1. Log into the firewall via SSH
  2. Enter into expert mode by typing ‘expert’ in the CLI – You will be asked for your expert password. Once in export you will be in a standard Linux bash prompt.
  3. Run the following while in expert mode depending on which update you require:
  • Anti-Virus Blade: []# online_update_cmd -b AV -o update
  • IPS Blade: []# online_update_cmd -b IPS -o update
  • Application Control Blade: []# online_update_cmd -b APPI -o update


Now return and refresh your webUI and you should notice that the blade(s) that were once stuck in the upgrading status are now showing up to date.

Check Point 600 Appliance Initial Setup

The following is a quick video of the setup of a Checkpoint 600 Security Appliance

Notes right from the admin guide:

Check Point 600 Appliance Overview
Check Point 600 Appliance delivers integrated unified threat management to protect your organization from
today’s emerging threats. Based on proven Check Point security technologies such as Stateful Inspection,
Application Intelligence, and SMART (Security Management Architecture), Check Point 600 Appliance
provides simplified deployment while delivering uncompromising levels of security.


Check Point 600 Appliance supports the Check Point Software Blade architecture that gives independent
and modular security building blocks. Software Blades can be quickly enabled and configured into your
solution based on specific security needs.


This video takes place, right after the Check Point 600 was connected to WAN, LAN, and Powered Up.

Linux Commands, And More Commands

I have posted about commands in the past. I am now ‘rebooting’ that post adding additional commands that I find useful.

File Transfer:

$ scp somefile.txt server:/tmp Secure copies somefile.txt to remote host /tmp folder

$ scp sysadmin@server:/www/*.html /www/tmp Copies *.html files from remote host to current system /www/tmp folder

$ scp -r sysadmin@server:/www /www/tmp Copies all files and folders recursively from remote server to the current system /www/tmp folder

$ rsync -a /home/backup /backup/ Synchronizes source to destination


File and Folder Archive:

$ tar cf home.tar home Creates tar named home.tar containing home/

$ tar xf file.tar Extracts the files from file.tar

$ tar czf file.tar.gz files Creates a tar with gzip compression

$ gzip file Compresses the file and renames it to file.gz


Networking Stuff:

$ ifconfig -a Display all network ports and ip address

$ ifconfig eth0 Display specific ethernet port ip address and details

$ ip addr show Display all network interfaces and ip address(available in iproute2 package,powerful than ifconfig)

$ ip address add dev eth0 Set ip address

$ ethtool eth0 Linux tool to show ethernet status

$ mii-tool eth0 Linux tool to show ethernet status

$ ping host Sends echo request to test connection

$ whois domain Get who is information for domain

$ dig domain Get DNS information for domain

$ dig -x host Reverse lookup host

$ host Lookup DNS ip address for the name

$ hostname -i Lookup local ip address

$ wget file Download file

$ netstat -tupl Listing all active listening ports(tcp,udp,pid)

$ ssh user@host Connects to host as user

$ ssh -p port user@host Connects to host using specific port

$ telnet host Connects to the system using telnet port



$ chmod 777 /data/test.c Sets rwx permission for owner , rwx permission for group, rwx permission for world

$ chmod 755 /data/test.c Sets rwx permission for owner,rx for group and world

$ chown owner-user file Changes the owner of the file

$ chown owner-user:owner-group file-name Changes the owner and group owner of the file

$ chown owner-user:owner-group directory Changes the owner and group owner of the directory


Process Management:

$ ps Displays your currently active processes

$ ps aux | grep ‘telnet’ Finds all process id related to telnet process

$ pmap Memory map of process

$ top Display all running processes

$ kill pid Kill process with mentioned pid id

$ killall proc Kill all processes named proc

$ sleep 10 & Sleeps at the background

$ kill ‘JobNumber ‘ Terminates the job

$ jobs Display the jobs

$ pkill processname Send signal to a process with its name

$ bg Resumes suspended jobs without bringing them to foreground

$ fg Brings the most recent job to foreground

$ fg n Brings job n to the foreground


Useful File Commands:

$ cd .. To go up one level of the directory tree

$ cd Goes to $HOME directory

$ cd /test Changes to /test directory

$ ls gives the contents of a folder.

$ ls -a gives all the contents of a folder.

$ mkdir FolderName creates the folder FolderName.

$ cd Directory makes the Directory current directory

$ pwd prints the working directory

$ cp ~/Desktop/Berk/backups/science.txt . copy science.txt to the current directory

$ mv backups/science.txt /Desktop/Emi moves science.txt to folder Emi

$ rm temp.txt removes the temp.txt file

$ clear clear screen

$ cat science.txt Display contents of a file on the screen

$ less science.txt Displays on a different page ( type q to close the page)

$ less science.txt and then /name finds the occurences of name

$ head science.txt displays the first ten lines of the file

$ tail science.txt displays the last ten lines of the file

$ tail -20 science.txt displays the last 20 lines of the file

$ grep ‘searchedkeyword’ science.txt searches and finds the keyword in the file.(case sensitive)

$ grep -i SeaRchEdKeyWoRd science.txt case insensitive search

$ grep -i ‘SeaRched Sentence is this one’ science.txt case insensitive search

instead of i we can use;
-n precede each matching line with the line number
-v display those lines that do not match
-c print only the total count of matching lines

$ find -name “*.txt” -print finds the text files in the current directory

$ diff a.txt b.txt gives the different lines

$ wc -w science.txt gives the word count

$ wc -l science.txt gives the line count

$ cat > list1


creates a list and we can print this list by using:

$ cat list1 command line.

$ cat biglist | grep p | sort gives sorted list elements which include p

$ sort < biglist > sortedlist sorts the biglist and writes it to the sortedlist

$ ls list* outputs the filenames starting with ‘list’

$ ls *list outputs the filenames ending with ‘list’

$ ls ?un outputs the filenames ending with ‘un’ but just one letter. (e.g. sun, gun, bun)

$ man ____ gives information about the command in the underlined section.

$ whatis ____ gives information about the command in the underlined section.

$ ls -l gives detailed information about the gfiles in the directory

o:other people
rwx: read write execute
rw: read write
r: read
x: execute

$ chmod u+x TheFile adds writing permission to the user(owner) of TheFile

$ chmod go-rwx biglist to remove read write and execute permissions on the file biglist for the group and others

$ chmod 754 TheFile 7, 5, 4 represents the individual permissions for user, group, other (7:rwx, 5:rx, 4:r)

4 – stands for “read”
2 – stands for “write”
1 – stands for “execute”
0 – no permissions

$ du -s * The du command outputs the number of kilobyes used by each subdirectory.

$ df . The df command reports on the space left on the file system.

$ gzip science.txt Compresses into a gzip file

$ gunzip science.txt.gz De-compresses into the original file

$ tar cvf New.tar addthisfileintotar Create a tar file called New and add this file.

$ tar xvf New.tar Extracts the tar file

$ zcat science.txt.gz reads zipped files without unzipping

$ file * Classifies the files in the current directory ( folder, text, gzip, etc.)

$ name=Berk
$ echo Hello $name Prints ‘Hello Berk’

$ sha1sum FileName | grep e509760917361307015 Compares the checksum of a downloaded file and the calculated one.

$ gpg -c file Encrypts file

$ gpg file.gpg Decrypts file


User Related:

$ id Shows the active user id with login and group

$ last Shows last logins on the system

$ who Shows who is logged on the system

$ groupadd admin Adds group “admin”

$ useradd -c “Jermal Smith” -g admin -m sam Creates user “sam” and adds to group “admin”

$ userdel sam Deletes user sam

$ adduser sam Adds user “sam”

$ usermod Modifies user information


System Statistics:

$ top Displays the top CPU processes (Ctrl+C to exit)

$ vmstat 2 Displays virtual memory statistics

$ sudo tcpdump -i eth0 Captures all packets flows on interface eth0

$ sudo tcpdump -i eth0 ‘port 80’ Monitors all traffic on port 80 ( HTTP )

$ lsof Lists all open files belonging to all active processes.

$ lsof -u myuser Lists files opened by specific user

$ watch df -h Shows changeable data continuously


System Info:

$ uname -a Displays Linux system information

$ uname -r Displays kernel release information

$ uptime Shows how long system running + load

$ hostname Shows system host name

$ hostname -i Displays the IP address of the host

$ last reboot Shows system reboot history

$ date Shows the current date and time

$ cal Shows this month calendar

$ whoami Shows who you are logged in as


Hardware Info:

$ dmesg Detected hardware and boot messages

$ cat /proc/meminfo Hardware memory information

$ cat /proc/cpuinfo CPU model information

$ cat /proc/interrupts Lists the number of interrupts per CPU per I/O device

$ sudo lshw Displays information on hardware configuration of the system

$ lsblk Displays block device related information in Linux (sudo yum install util-linux-ng)

$ free -m Displays used and free memory (-m for MB)

$ lsusb -tv Shows USB devices

$ dmidecode Shows hardware info from the BIOS

$ hdparm -i /dev/sda # Shows info about disk sda

$ hdparm -tT /dev/sda # Do a read speed test on disk sda

$ badblocks -s /dev/sda # Test for unreadable blocks on disk sda


How to Remove Users From the Office 365 Deleted Users

And… its time to purge those 365 deleted users. Although we can wait for the retention policy to do it for us. I wanted to do this “now”.

I had wrote the following steps in the past and thought I would share here.

[Press Start]

To delete the account for one or more users

Sign in to Office 365 with your work or school account.

Go to the Office 365 admin center.

Go to Users > Active Users.

Choose the names of the users that you want to delete, and then select DELETE Delete.

In the confirmation box, select Yes.



Well, not so fast. The deleted users is not fully gone yet. It takes 30 days after you have deleted the user for it to purge from Office 365. However there is a way to do this faster

[Press Start]

Connect to Exchange Online using the Windows Azure Powershell module.

To connect you enter the following cmdlet’s:

  1. Store your credetials (this is stored in memory): $msolcred = get-credential
  2. Connection to Office 365: connect-msolservice -credential $msolcred

Once connected you can issue the following command to list deleted users:

get-msoluser –returndeletedusers -maxresults 100

To remove a deleted user permanently:

remove-msoluser –userprincipalname -RemoveFromRecyclebin

If you had multiple users, the following cmdlet would work to remove all deleted users recycle bin:

get-msoluser –returndeletedusers -maxresults 100 | remove-msoluser -removefromrecyclebin -force

That’s it… Your done. Good Luck

Original Post of mine can be found here

Quick How To Share a Document with OneDrive for Business

You can share file(s): Documents and such with Onedrive for Business

1.      In the file list, right-click a document, or select a document and then select Share.

2.      Select Get a link.

3.      Choose who to share with, and if they can view or edit the file.

4.      To share with people inside your organization, choose:

5.      View link – account required – people inside your organization can view, copy, or download the document.

6.      Edit link – account required – people inside your organization can edit, copy, or download the document.

7.      To share with people outside your organization, choose:

8.      View link – no sign-in required – people outside your organization can view, copy, and download the document.

9.      Edit link – no sign-in required – people outside your organization can edit, copy, and download the document.

10.  For external links, select SET EXPIRATION, and choose when you want the link to expire.

11.  Click Copy and paste the link in an email or post it.

Note: Links created that don’t require a sign-in can be opened by anyone, so make sure the content can be shared publicly. Consult your Corporate Information Security Policy and IT if needed.

Note: Sharing of folders is not possible at this time.