Accessing Individual WMI Instances

Did you know, accessing individual WMI Instances and their Namespaces is pretty easy as 1-2-3..


You always get back all instances of a given WMI class when using Get-WMIObject. However, what if you just wanted to get a specific instance? Or you just wanted to find out how much space is left on drive C:? The next line gives you all drives:

Logo_PowerShell

Continue reading

Powershell – Download File from the Internet using Net.WebClient Object

Powershell – Download File from the Internet using Net.WebClient Object

You can tap into the wealth of .NET methods easily. Use New-Object to instantiate a new .NET class, and off you go.
For example, instantiate an instance of Net.WebClient and you can enable your PowerShell scripts to download files from the Internet:

$object = New-Object Net.WebClient
$url = 'http://download.microsoft.com/download/4/7/1/47104ec6-410d-4492-890b-2a34900c9df2/Workshops-EN.zip'
$local = "$home\powershellworkshop.zip"
$object.DownloadFile($url, $local)

This will download a great PowerShell workshop from Microsoft to your home folder. Unfortunately, the simple DownloadFile() method does not provide a progress indicator so depending on your Internet connection, it may take a couple of minutes until the command is processed.

Servermanagercmd.exe is deprecated, and is not guaranteed to be supported in future releases of Windows.

Command Line version of Server Manager in Windows Server 2008 R2
Today I was using “ServerManagerCmd.exe” on a Microsoft Windows Server 2008 R2. When I executed it I saw the following informational message:

“Servermanagercmd.exe is deprecated, and is not guaranteed to be supported in future releases of Windows. We recommend that you use the Windows PowerShell cmdlets that are available for Server Manager.”
Continue reading

PowerShell: Enumerate Files recursive and get full path for each file

To enumerate all files of a specific path recursive and get the full path for each file using Microsoft PowerShell:


Get-ChildItem -rec | ForEach-Object -Process {$_.FullName}

to capture the output and generate an XML file do:


Get-ChildItem -rec | ForEach-Object -Process {$_.FullName} | Export-Clixml c:\temp\report.xml

to only enumerate / list files, use the psIsContainer switch:


Get-ChildItem -rec | Where-object {!$_.psIsContainer -eq $true} | ForEach-Object -Process {$_.FullName}

or for folders only:


Get-ChildItem -rec | Where-object {!$_.psIsContainer -eq $false} | ForEach-Object -Process {$_.FullName}