tag:blogger.com,1999:blog-64283106296665334182024-03-07T19:47:49.814-08:00IT from my perspectiveInterested in everything IT: past, present and future...marco.shawhttp://www.blogger.com/profile/03696738292680659747noreply@blogger.comBlogger279125tag:blogger.com,1999:blog-6428310629666533418.post-72497262818748642612017-01-01T12:21:00.001-08:002017-01-01T12:21:05.346-08:00Ubuntu 16.04 - /usr/bin/dpkg returned an error code (1)Posting this in case it helps someone else while they are searching...<br />
<br />
I just set up a new 16.04 VM. I wanted to make sure that Python 3 was the default version on the system.<br />
<br />
I noticed that:<br />
<br />
<br />
<code>
$ ls -al /usr/bin/python<br />lrwxrwxrwx 1 root root 9 Jan 1 12:12 /usr/bin/python -> python2.7<br />
</code>
<br />
I thought I was being smart and changed that link to point to python3.5. Once I changed it though, I couldn't seem to do any simple updates or installs without getting the dpkg error.<br />
<br />
So if you're getting the dpkg error, check where /usr/bin/python is pointing to. If Python 3, that may be your issue.<br />
<br />
<br />
<br />
<br />
<br />
<br />marco.shawhttp://www.blogger.com/profile/03696738292680659747noreply@blogger.comtag:blogger.com,1999:blog-6428310629666533418.post-44155125730145335042013-12-28T17:46:00.001-08:002013-12-28T17:46:08.720-08:00Hadoop and MapReduce basics–Udacity online course<p>Udacity and Cloudera recently partnered to create an online course titled “<a href="https://www.udacity.com/course/ud617">Introduction to Hadoop and MapReduce</a>”.</p> <p>I really like the course.  It’s short and to the point.  I think it’s a very good introduction for people new to Hadoop and wanting to get a bit of hands on.</p> <p>I created a short <a href="http://www.youtube.com/watch?v=c_cJKZ4vzhA">YouTube video</a> that walks someone through the first question in the final section of the course.  It’s important to understand the concepts thought in the course, because they all need to be applied here.</p> marco.shawhttp://www.blogger.com/profile/03696738292680659747noreply@blogger.comtag:blogger.com,1999:blog-6428310629666533418.post-25761753976204061512013-12-28T17:39:00.001-08:002013-12-28T17:40:08.190-08:00Installing the Cloudera VM using VMware Player<p>I created a short <a href="http://www.youtube.com/watch?v=OUxBQM7tJHo">YouTube video</a> that walks a new user through the process of install VMware Player and then loading the Udacity/Cloudera pre-built VM.</p> <p>This is very handy for people new to virtualization and wanting some help to walk through the process of getting the VM up and running.</p> marco.shawhttp://www.blogger.com/profile/03696738292680659747noreply@blogger.comtag:blogger.com,1999:blog-6428310629666533418.post-86305614926100868302011-04-23T07:40:00.001-07:002011-04-23T07:40:06.620-07:00Virtual session on sysprep and PowerShell<p>I did a presentation for the virtual PowerShell chapter of SQLPASS (link <a href="http://powershell.sqlpass.org/">HERE</a>) last week.</p> <p>I talked about using sysprep for creating quick OS images and also talked about the new sysprep support now in SQL Server 2008 R2.</p> <p>My lab environment uses Hyper-V, so I try to practice using PowerShell as much as possible.  One thing I demo’d was a very basic/simple PowerShell script to:</p> <ul> <li>Create a new VM</li> <li>Change the default RAM</li> <li>Copy a sysprep’d image to a new name</li> <li>Attach a hard disk</li> <li>Add a DVD drive</li> <li>Attach an ISO to the DVD drive</li> <li>Start the VM</li> </ul> <p>Here’s the script:</p> <p>import-module hyperv <br />new-vm -name foo <br />get-vm foo|set-vmmemory -memory 1024 <br />copy-item "C:\Users\Public\Documents\Hyper-V\Virtual hard disks\Server_sysprep_gold.vhd" ` <br />"C:\Users\Public\Documents\Hyper-V\Virtual hard disks\Server_foo.vhd" <br />get-vm foo|add-vmdisk -controller 0 -lun 0 -path "C:\Users\Public\Documents\Hyper-V\Virtual hard disks\Server_foo.vhd" <br />get-vm foo|add-vmdrive -dvd -controllerid 1 -lun 0 <br />get-vm foo|add-vmdisk -dvd -controller 1 -lun 0 -path "C:\Users\Administrator\ISOs\sql_server_2008_r2.iso" <br />get-vm foo|start-vm</p> <p>(Yes, I could have condensed some stuff, but that’s not the point I was trying to communicate.  I don’t see the point in condensing 10 lines of code to 5-6 at the expense of readability, and prefer to ease the PowerShell learning curve for newcomers.)</p> <p>A few resources from the session:</p> <ul> <li>PowerShell Hyper-V module: <a title="http://pshyperv.codeplex.com/" href="http://pshyperv.codeplex.com/">http://pshyperv.codeplex.com/</a></li> <li>My Microsoft connect item (SQL R2 sysprep doesn’t support SQL tools): <a title="https://connect.microsoft.com/SQLServer/feedback/details/658584/sysprep-in-sql-2008-r2" href="https://connect.microsoft.com/SQLServer/feedback/details/658584/sysprep-in-sql-2008-r2">https://connect.microsoft.com/SQLServer/feedback/details/658584/sysprep-in-sql-2008-r2</a></li> </ul> <p>Enjoy!  I’m not sure when the recording will be put online, but I’ll put a link to it…  I don’t talk a whole lot about PowerShell though.  Maybe just 10-15 minutes at the end.</p> marco.shawhttp://www.blogger.com/profile/03696738292680659747noreply@blogger.comtag:blogger.com,1999:blog-6428310629666533418.post-46774636221623762112011-04-10T14:50:00.001-07:002011-04-10T14:56:35.936-07:00PowerShell: State of the Union<p>I’m not going to go that far back in history to rehash where PowerShell has come from, but I want to talk about where I think it is going.</p> <p>I think it took the fact that the PowerShell icon now appears by default in Windows Server 2008 R2 for more people to start taking it more seriously.  PowerShell seemed to be talked about a way lot more last year than before.  More and more are starting to embrace it, and now that there are more Microsoft products that have been released since CEC 2009 (FYI <a href="http://www.microsoft.com/cec/en/us/default.aspx">HERE</a>), there’s PowerShell almost everywhere in all the Microsoft (server-based) products.</p> <p>I will highlight one (or two) disappointment(s) of late: System Center Configuration Manger 2012 (currently at Beta 2).  I can sympathize with some product teams though, especially when they already have an interface to automate just about everything already.  They want to concentrate on the next version of their products, versus PowerShell-izing everything.  I don’t expect to see any Microsoft-provided PowerShell cmdlets in SCCM 2012, but they seem to be working hard on their WMI interface, so at least the community can come to the rescue here (and already have with some PowerShell projects based on SCCM 2007 like Greg Ramsey).  </p> <p>Now, that being said, the other System Center 2012 product in public beta is Virtual Machine Manager 2012 (currently at Beta 1), and its PowerShell support continues where VMM 2008 was: the GUI is written on top of PowerShell.  That means, there’s a cmdlet for *every* task, just like Exchange 2010 continues the tradition started with Exchange 2007.  I’ve seen public slides from recent events that have highlighted increased PowerShell support in System Center Service Manager 2012 and System Center Data Protection Manager 2012 also (neither being in public beta yet).</p> <p>I might expect SQL Server to also never have full PowerShell functionality or take a few major releases before that happens.  I think we will see SQL Server Denali in the next 12 months, and it, to my knowledge, still won’t have a Add-Table cmdlet, for example.  Again, the community to the rescue, and there’s a *huge* community project led by the likes of Chad Miller who have brought PowerShell extensions for SQL.</p> <p>Nonetheless, the “Father of PowerShell”, Jeffrey Snover, is now a major influencer (after a big promotion) in the Windows Server division.  I’m not basing this statement on any secret facts that I’m privied to, but I’m expecting Windows Server v.Next to *explode* in the number of features that have direct PowerShell administration functionality, and I’m hoping to be pleasantly surprised once the information starts to become public.  I’m not talking about having to wrap PowerShell around cmd.exe, Win32 API or P/Invoke, but having native cmdlets that provide all of the base OS tasks…</p> marco.shawhttp://www.blogger.com/profile/03696738292680659747noreply@blogger.comtag:blogger.com,1999:blog-6428310629666533418.post-25913396462033592962011-03-26T14:42:00.001-07:002011-03-26T14:43:28.379-07:00Virtual Machine Manager: Changes from 2008 R2 to 2012 Beta 1 (LONG)<p>Using a script Shay Levy wrote <a href="http://blogs.microsoft.co.il/blogs/scriptfanatic/archive/2010/06/15/cmdlets-and-paremeters-differences-between-exchange-2007-and-2010.aspx">HERE</a>, I have the following list of cmdlet changes that have occurred between Microsoft System Center Virtual Machine Manager 2008 R2 and the very recently released 2012 Beta 1 (see <a href="http://blogs.technet.com/b/scvmm/archive/2011/03/22/system-center-virtual-machine-2012-beta-available-now.aspx">HERE</a>).</p> <p>So below is a listing of the parameter changes to each of the cmdlets.  There are several changes in the new Beta...  There are a few cmdlets that have parameters that have changed, but along with the new features announced in 2012 Beta 1, there’s a load of new cmdlets covering the features planned for VMM 2012 (due apparently by the end of the 2011 calendar year).</p> <p>Cmdlets with an “!” have changed, and have a “+” or “-“, depending on whether the parameter was added or removed.  For the new cmdlets, they are just have a “+” and their parameters aren’t listed, while cmdlets removed have a “-“.</p> <p>The list does have a small surprise: the SCVMM team has renamed some of their cmdlets to have “SC” in the noun.  So, you’ll see “Add-SCVMHost” being added, and “Add-VMHost” being removed, if you look closely.</p> <p>Add-VMHostCluster (!) <br />    Certificate (+) <br />    NonTrustedDomainHost (+) <br />    SecureMode (+) <br />    TCPPort (+) <br />    VirtualizationManager (+) <br />    XenServerHost (+)</p> <p>Discover-Cluster (!) <br />    NonTrustedDomainHost (+) <br />    TCPPort (+) <br />    XenServerHost (+)</p> <p>Get-VMPerformance (!) <br />    VMMServer (+)RunAsynchronously (-) JobVariable (-) PROTipID (-)</p> <p>Get-VMwareResourcePool (!) <br />    ID (+)</p> <p>Move-VM (!) <br />    HighlyAvailable (+)</p> <p>New-GuestOSProfile (!) <br />    AdminPasswordIsServiceSetting (+) <br />    AdminPasswordRunAsProfile (+) <br />    JoinDomainPasswordIsServiceSetting (+) <br />    JoinDomainRunAsProfile (+) <br />    UserRole (+)</p> <p>New-HardwareProfile (!) <br />    CapabilityProfile (+) <br />    DynamicMemoryBufferPercentage (+) <br />    DynamicMemoryEnabled (+) <br />    DynamicMemoryMaximumMB (+) <br />    MemoryWeight (+) <br />    MonitorMaximumCount (+) <br />    MonitorResolutionMaximum (+) <br />    UserRole (+) <br />    VirtualVideoAdapterEnabled (+)</p> <p>New-VirtualDiskDrive (!) <br />    HostDisk (-) <br />    StorageClassification (+) <br />    StorageDisk (+) <br />    VolumeType (+)</p> <p>New-VirtualSCSIAdapter (!) <br />    SCSIControllerType (+) <br />    Synthetic (+)</p> <p>Remove-VirtualDVDDrive (!) <br />    SourceBus (+) <br />    SourceLun (+)</p> <p>Set-GuestOSProfile (!) <br />    AdminPasswordIsServiceSetting (+) <br />    AdminPasswordRunAsProfile (+) <br />    JoinDomainPasswordIsServiceSetting (+) <br />    JoinDomainRunAsProfile (+) <br />    UserRole (+)</p> <p>Set-HardwareProfile (!) <br />    CapabilityProfile (+) <br />    DynamicMemoryBufferPercentage (+) <br />    DynamicMemoryEnabled (+) <br />    DynamicMemoryMaximumMB (+) <br />    MemoryWeight (+) <br />    MonitorMaximumCount (+) <br />    MonitorResolutionMaximum (+) <br />    RemoveCapabilityProfile (+) <br />    UserRole (+) <br />    VirtualVideoAdapterEnabled (+)</p> <p>Set-VirtualDiskDrive (!) <br />    StorageClassification (+) <br />    VolumeType (+)</p> <p>Set-VirtualDVDDrive (!) <br />    SourceBus (+) <br />    SourceLun (+)</p> <p>Set-VirtualSCSIAdapter (!) <br />    SCSIControllerType (+)</p> <p>Set-VMHostCluster (!) <br />    InheritPROSettings (-) <br />    PROAutomationLevel (-) <br />    PROMonitoringLevel (-) <br />    SetQuorumDisk (+) <br />    SetQuorumNodeMajority (+)</p> <p>Shutdown-VM (!) <br />    ComputerTier (+) <br />    UpgradeDomain (+)</p> <p>Start-VM (!) <br />    ComputerTier (+) <br />    UpgradeDomain (+)</p> <p>Stop-VM (!) <br />    ComputerTier (+) <br />    UpgradeDomain (+)</p> <p>Add-SCApplicationDeployment (+)</p> <p>Add-SCApplicationHost (+)</p> <p>Add-SCApplicationHostTemplate (+)</p> <p>Add-SCComputerTierTemplate (+)</p> <p>Add-SCCustomPlacementRule (+)</p> <p>Add-SCDataDisk (+)</p> <p>Add-SCLibraryServer (+)</p> <p>Add-SCLibraryShare (+)</p> <p>Add-SCLoadBalancer (+)</p> <p>Add-SCOperatingSystem (+)</p> <p>Add-SCPatch (+)</p> <p>Add-SCPowerOptimizationRange (+)</p> <p>Add-SCPXEServer (+)</p> <p>Add-SCScriptCommand (+)</p> <p>Add-SCServerFeature (+)</p> <p>Add-SCServicingWindowSubscription (+)</p> <p>Add-SCSQLDeployment (+)</p> <p>Add-SCSQLScriptCommand (+)</p> <p>Add-SCStorageProvider (+)</p> <p>Add-SCUpdateServer (+)</p> <p>Add-SCVirtualizationManager (+)</p> <p>Add-SCVMHost (+)</p> <p>Add-SCVMHostNetworkAdapter (+)</p> <p>Backup-SCVMMServer (+)</p> <p>Clear-SCPowerOptimizationSchedule (+)</p> <p>Clear-SCPROTip (+)</p> <p>Copy-SCStorageVolume (+)</p> <p>Copy-SCVirtualHardDisk (+)</p> <p>Disable-SCLoadBalancerVIPMember (+)</p> <p>Disable-SCRunAsAccount (+)</p> <p>Disable-SCVMHost (+)</p> <p>DiscardSavedState-SCService (+)</p> <p>Enable-SCLoadBalancerVIPMember (+)</p> <p>Enable-SCRunAsAccount (+)</p> <p>Enable-SCVMHost (+)</p> <p>Export-SCTemplate (+)</p> <p>Find-SCComputer (+)</p> <p>Find-SCLibraryShare (+)</p> <p>Get-SCApplication (+)</p> <p>Get-SCApplicationDeployment (+)</p> <p>Get-SCApplicationHost (+)</p> <p>Get-SCApplicationHostTemplate (+)</p> <p>Get-SCApplicationPackage (+)</p> <p>Get-SCApplicationProfile (+)</p> <p>Get-SCApplicationSetting (+)</p> <p>Get-SCBaseline (+)</p> <p>Get-SCCapabilityProfile (+)</p> <p>Get-SCCloud (+)</p> <p>Get-SCCloudCapacity (+)</p> <p>Get-SCCloudUsage (+)</p> <p>Get-SCClusterVirtualNetwork (+)</p> <p>Get-SCComplianceStatus (+)</p> <p>Get-SCComputerConfiguration (+)</p> <p>Get-SCComputerTier (+)</p> <p>Get-SCComputerTierConfiguration (+)</p> <p>Get-SCComputerTierTemplate (+)</p> <p>Get-SCConfigurationProvider (+)</p> <p>Get-SCCustomPlacementRule (+)</p> <p>Get-SCCustomProperty (+)</p> <p>Get-SCCustomPropertyValue (+)</p> <p>Get-SCCustomResource (+)</p> <p>Get-SCDependentLibraryResource (+)</p> <p>Get-SCDriverPackage (+)</p> <p>Get-SCDynamicOptimizationConfiguration (+)</p> <p>Get-SCGlobalSetting (+)</p> <p>Get-SCHardwareProfile (+)</p> <p>Get-SCHostReserve (+)</p> <p>Get-SCIPAddress (+)</p> <p>Get-SCISO (+)</p> <p>Get-SCISOConfiguration (+)</p> <p>Get-SCJob (+)</p> <p>Get-SCLibraryRating (+)</p> <p>Get-SCLibraryServer (+)</p> <p>Get-SCLibraryShare (+)</p> <p>Get-SCLoadBalancer (+)</p> <p>Get-SCLoadBalancerConfiguration (+)</p> <p>Get-SCLoadBalancerTemplate (+)</p> <p>Get-SCLoadBalancerVIP (+)</p> <p>Get-SCLoadBalancerVIPMember (+)</p> <p>Get-SCLoadBalancerVIPTemplate (+)</p> <p>Get-SCLogicalNetwork (+)</p> <p>Get-SCLogicalNetworkDefinition (+)</p> <p>Get-SCMACAddress (+)</p> <p>Get-SCMACAddressPool (+)</p> <p>Get-SCOperatingSystem (+)</p> <p>Get-SCOpsMgrConnection (+)</p> <p>Get-SCPendingGlobalSetting (+)</p> <p>Get-SCPerformanceData (+)</p> <p>Get-SCPlacementConfiguration (+)</p> <p>Get-SCPowerOptimizationRange (+)</p> <p>Get-SCPROMonitor (+)</p> <p>Get-SCPROMonitorConfiguration (+)</p> <p>Get-SCPROMonitorState (+)</p> <p>Get-SCPROTip (+)</p> <p>Get-SCPXEServer (+)</p> <p>Get-SCRunAsAccount (+)</p> <p>Get-SCRunAsAccountConsumer (+)</p> <p>Get-SCRunAsProfile (+)</p> <p>Get-SCRunAsProfileAssociation (+)</p> <p>Get-SCRunAsProfileConsumer (+)</p> <p>Get-SCScript (+)</p> <p>Get-SCScriptCommand (+)</p> <p>Get-SCScriptCommandSetting (+)</p> <p>Get-SCServerFeature (+)</p> <p>Get-SCService (+)</p> <p>Get-SCServiceConfiguration (+)</p> <p>Get-SCServiceTemplate (+)</p> <p>Get-SCServicingScript (+)</p> <p>Get-SCServicingWindow (+)</p> <p>Get-SCServicingWindowSubscription (+)</p> <p>Get-SCSharedResource (+)</p> <p>Get-SCSQLASConnection (+)</p> <p>Get-SCSQLDeployment (+)</p> <p>Get-SCSQLProfile (+)</p> <p>Get-SCSQLScriptCommand (+)</p> <p>Get-SCStaticIPAddressPool (+)</p> <p>Get-SCStep (+)</p> <p>Get-SCStorageArray (+)</p> <p>Get-SCStorageClassification (+)</p> <p>Get-SCStorageDisk (+)</p> <p>Get-SCStorageLogicalUnit (+)</p> <p>Get-SCStoragePool (+)</p> <p>Get-SCStorageProvider (+)</p> <p>Get-SCStorageVolume (+)</p> <p>Get-SCTags (+)</p> <p>Get-SCTemplate (+)</p> <p>Get-SCTemplatePackage (+)</p> <p>Get-SCUpdate (+)</p> <p>Get-SCUpdateServer (+)</p> <p>Get-SCUserRole (+)</p> <p>Get-SCUserRoleMembership (+)</p> <p>Get-SCUserRoleQuota (+)</p> <p>Get-SCVirtualFloppyDisk (+)</p> <p>Get-SCVirtualHardDisk (+)</p> <p>Get-SCVirtualHardDiskConfiguration (+)</p> <p>Get-SCVirtualizationManager (+)</p> <p>Get-SCVirtualMachine (+)</p> <p>Get-SCVirtualNetwork (+)</p> <p>Get-SCVirtualNetworkAdapter (+)</p> <p>Get-SCVirtualNetworkAdapterConfiguration (+)</p> <p>Get-SCVMConfiguration (+)</p> <p>Get-SCVMHost (+)</p> <p>Get-SCVMHostGroup (+)</p> <p>Get-SCVMHostNetworkAdapter (+)</p> <p>Get-SCVMHostProfile (+)</p> <p>Get-SCVMHostRating (+)</p> <p>Get-SCVMMAccessLicense (+)</p> <p>Get-SCVMMManagedComputer (+)</p> <p>Get-SCVMMServer (+)</p> <p>Get-SCVMXComputerConfiguration (+)</p> <p>Grant-SCIPAddress (+)</p> <p>Grant-SCMACAddress (+)</p> <p>Grant-SCResource (+)</p> <p>Import-SCTemplate (+)</p> <p>Install-SCApplication (+)</p> <p>Install-SCServerFeature (+)</p> <p>Install-SCSQLServerInstance (+)</p> <p>Install-SCVMHostCluster (+)</p> <p>Invoke-SCPROTip (+)</p> <p>Invoke-SCScriptCommand (+)</p> <p>Mount-SCDataDisk (+)</p> <p>Mount-SCStorageDisk (+)</p> <p>Move-SCVirtualHardDisk (+)</p> <p>Move-SCVMHost (+)</p> <p>Move-SCVMHostGroup (+)</p> <p>New-SCApplicationProfile (+)</p> <p>New-SCBaseline (+)</p> <p>New-SCCapabilityProfile (+)</p> <p>New-SCCloud (+)</p> <p>New-SCComputerConfiguration (+)</p> <p>New-SCCustomProperty (+)</p> <p>New-SCDefaultGateway (+)</p> <p>New-SCLoadBalancerConnectionPersistence (+)</p> <p>New-SCLoadBalancerHealthMonitor (+)</p> <p>New-SCLoadBalancerProtocol (+)</p> <p>New-SCLoadBalancerTemplate (+)</p> <p>New-SCLoadBalancerVIP (+)</p> <p>New-SCLoadBalancerVIPMember (+)</p> <p>New-SCLoadBalancerVIPTemplate (+)</p> <p>New-SCLoadBalancingMethod (+)</p> <p>New-SCLogicalNetwork (+)</p> <p>New-SCLogicalNetworkDefinition (+)</p> <p>New-SCMACAddressPool (+)</p> <p>New-SCOpsMgrConnection (+)</p> <p>New-SCP2V (+)</p> <p>New-SCPackageMapping (+)</p> <p>New-SCResourceGroup (+)</p> <p>New-SCRunAsAccount (+)</p> <p>New-SCRunAsProfile (+)</p> <p>New-SCRunAsProfileAssociation (+)</p> <p>New-SCScriptCommandSetting (+)</p> <p>New-SCService (+)</p> <p>New-SCServiceCheckpoint (+)</p> <p>New-SCServiceConfiguration (+)</p> <p>New-SCServiceTemplate (+)</p> <p>New-SCServicingWindow (+)</p> <p>New-SCSQLASConnection (+)</p> <p>New-SCSQLProfile (+)</p> <p>New-SCStaticIPAddressPool (+)</p> <p>New-SCStorageClassification (+)</p> <p>New-SCStorageLogicalUnit (+)</p> <p>New-SCSubnetVLan (+)</p> <p>New-SCTemplate (+)</p> <p>New-SCUserRole (+)</p> <p>New-SCV2V (+)</p> <p>New-SCVirtualMachine (+)</p> <p>New-SCVirtualNetwork (+)</p> <p>New-SCVirtualNetworkAdapter (+)</p> <p>New-SCVMConfiguration (+)</p> <p>New-SCVMHost (+)</p> <p>New-SCVMHostGroup (+)</p> <p>New-SCVMHostProfile (+)</p> <p>New-SCVMXComputerConfiguration (+)</p> <p>Publish-SCWindowsPE (+)</p> <p>Read-SCGuestInfo (+)</p> <p>Read-SCLibraryShare (+)</p> <p>Read-SCLoadBalancer (+)</p> <p>Read-SCLoadBalancerVIP (+)</p> <p>Read-SCService (+)</p> <p>Read-SCStorageProvider (+)</p> <p>Read-SCVMHost (+)</p> <p>Refresh-SCVirtualizationManager (+)</p> <p>Register-SCStorageLogicalUnit (+)</p> <p>Register-SCVMHost (+)</p> <p>Register-SCVMMManagedComputer (+)</p> <p>Remove-SCApplicationDeployment (+)</p> <p>Remove-SCApplicationHost (+)</p> <p>Remove-SCApplicationHostTemplate (+)</p> <p>Remove-SCApplicationPackage (+)</p> <p>Remove-SCApplicationProfile (+)</p> <p>Remove-SCBaseline (+)</p> <p>Remove-SCCapabilityProfile (+)</p> <p>Remove-SCCloud (+)</p> <p>Remove-SCComputerConfiguration (+)</p> <p>Remove-SCComputerTierTemplate (+)</p> <p>Remove-SCCustomPlacementRule (+)</p> <p>Remove-SCCustomProperty (+)</p> <p>Remove-SCCustomPropertyValue (+)</p> <p>Remove-SCCustomResource (+)</p> <p>Remove-SCDataDisk (+)</p> <p>Remove-SCDriverPackage (+)</p> <p>Remove-SCISO (+)</p> <p>Remove-SCLibraryServer (+)</p> <p>Remove-SCLibraryShare (+)</p> <p>Remove-SCLoadBalancer (+)</p> <p>Remove-SCLoadBalancerTemplate (+)</p> <p>Remove-SCLoadBalancerVIP (+)</p> <p>Remove-SCLoadBalancerVIPMember (+)</p> <p>Remove-SCLoadBalancerVIPTemplate (+)</p> <p>Remove-SCLogicalNetwork (+)</p> <p>Remove-SCLogicalNetworkDefinition (+)</p> <p>Remove-SCMACAddressPool (+)</p> <p>Remove-SCOperatingSystem (+)</p> <p>Remove-SCOpsMgrConnection (+)</p> <p>Remove-SCPXEServer (+)</p> <p>Remove-SCResourceGroup (+)</p> <p>Remove-SCRunAsAccount (+)</p> <p>Remove-SCRunAsProfile (+)</p> <p>Remove-SCRunAsProfileAssociation (+)</p> <p>Remove-SCScript (+)</p> <p>Remove-SCScriptCommand (+)</p> <p>Remove-SCServerFeature (+)</p> <p>Remove-SCService (+)</p> <p>Remove-SCServiceConfiguration (+)</p> <p>Remove-SCServiceTemplate (+)</p> <p>Remove-SCServicingWindow (+)</p> <p>Remove-SCServicingWindowSubscription (+)</p> <p>Remove-SCSQLASConnection (+)</p> <p>Remove-SCSQLDeployment (+)</p> <p>Remove-SCSQLProfile (+)</p> <p>Remove-SCSQLScriptCommand (+)</p> <p>Remove-SCStaticIPAddressPool (+)</p> <p>Remove-SCStorageClassification (+)</p> <p>Remove-SCStorageLogicalUnit (+)</p> <p>Remove-SCStorageProvider (+)</p> <p>Remove-SCTemplate (+)</p> <p>Remove-SCUpdateServer (+)</p> <p>Remove-SCUserRole (+)</p> <p>Remove-SCVirtualFloppyDisk (+)</p> <p>Remove-SCVirtualHardDisk (+)</p> <p>Remove-SCVirtualizationManager (+)</p> <p>Remove-SCVirtualMachine (+)</p> <p>Remove-SCVirtualNetwork (+)</p> <p>Remove-SCVirtualNetworkAdapter (+)</p> <p>Remove-SCVMConfiguration (+)</p> <p>Remove-SCVMHost (+)</p> <p>Remove-SCVMHostGroup (+)</p> <p>Remove-SCVMHostNetworkAdapter (+)</p> <p>Remove-SCVMHostProfile (+)</p> <p>Remove-SCVMXComputerConfiguration (+)</p> <p>Repair-SCVMHost (+)</p> <p>Reset-SCPROMonitorState (+)</p> <p>Resolve-SCServiceTemplate (+)</p> <p>Restart-SCJob (+)</p> <p>Restart-SCVMHost (+)</p> <p>Restore-SCApplicationState (+)</p> <p>Resume-SCService (+)</p> <p>Revoke-SCIPAddress (+)</p> <p>Revoke-SCMACAddress (+)</p> <p>Revoke-SCResource (+)</p> <p>Save-SCApplicationState (+)</p> <p>SaveState-SCService (+)</p> <p>Set-SCApplication (+)</p> <p>Set-SCApplicationDeployment (+)</p> <p>Set-SCApplicationHostTemplate (+)</p> <p>Set-SCApplicationPackage (+)</p> <p>Set-SCApplicationProfile (+)</p> <p>Set-SCApplicationSetting (+)</p> <p>Set-SCBaseline (+)</p> <p>Set-SCCapabilityProfile (+)</p> <p>Set-SCCloud (+)</p> <p>Set-SCCloudCapacity (+)</p> <p>Set-SCComplianceStatus (+)</p> <p>Set-SCComputerTier (+)</p> <p>Set-SCComputerTierConfiguration (+)</p> <p>Set-SCComputerTierTemplate (+)</p> <p>Set-SCCustomPlacementRule (+)</p> <p>Set-SCCustomProperty (+)</p> <p>Set-SCCustomPropertyValue (+)</p> <p>Set-SCCustomResource (+)</p> <p>Set-SCDriverPackage (+)</p> <p>Set-SCDynamicOptimizationConfiguration (+)</p> <p>Set-SCGlobalSetting (+)</p> <p>Set-SCGuestInfo (+)</p> <p>Set-SCHostReserve (+)</p> <p>Set-SCIPAddress (+)</p> <p>Set-SCISO (+)</p> <p>Set-SCISOConfiguration (+)</p> <p>Set-SCLibraryServer (+)</p> <p>Set-SCLibraryShare (+)</p> <p>Set-SCLoadBalancer (+)</p> <p>Set-SCLoadBalancerConfiguration (+)</p> <p>Set-SCLoadBalancerTemplate (+)</p> <p>Set-SCLoadBalancerVIPTemplate (+)</p> <p>Set-SCLogicalNetwork (+)</p> <p>Set-SCLogicalNetworkDefinition (+)</p> <p>Set-SCMACAddressPool (+)</p> <p>Set-SCOpsMgrConnection (+)</p> <p>Set-SCPackageMapping (+)</p> <p>Set-SCPlacementConfiguration (+)</p> <p>Set-SCPROMonitorConfiguration (+)</p> <p>Set-SCPROTip (+)</p> <p>Set-SCResourceGroup (+)</p> <p>Set-SCRunAsAccount (+)</p> <p>Set-SCRunAsProfile (+)</p> <p>Set-SCScript (+)</p> <p>Set-SCScriptCommand (+)</p> <p>Set-SCScriptCommandSetting (+)</p> <p>Set-SCService (+)</p> <p>Set-SCServiceConfiguration (+)</p> <p>Set-SCServiceTemplate (+)</p> <p>Set-SCServicingWindow (+)</p> <p>Set-SCSQLDeployment (+)</p> <p>Set-SCSQLProfile (+)</p> <p>Set-SCSQLScriptCommand (+)</p> <p>Set-SCStaticIPAddressPool (+)</p> <p>Set-SCStorageArray (+)</p> <p>Set-SCStorageClassification (+)</p> <p>Set-SCStorageLogicalUnit (+)</p> <p>Set-SCStoragePool (+)</p> <p>Set-SCStorageProvider (+)</p> <p>Set-SCStorageVolume (+)</p> <p>Set-SCTemplate (+)</p> <p>Set-SCUpdate (+)</p> <p>Set-SCUpdateServer (+)</p> <p>Set-SCUserRole (+)</p> <p>Set-SCUserRoleQuota (+)</p> <p>Set-SCVirtualFloppyDisk (+)</p> <p>Set-SCVirtualHardDisk (+)</p> <p>Set-SCVirtualHardDiskConfiguration (+)</p> <p>Set-SCVirtualizationManager (+)</p> <p>Set-SCVirtualMachine (+)</p> <p>Set-SCVirtualNetwork (+)</p> <p>Set-SCVirtualNetworkAdapter (+)</p> <p>Set-SCVirtualNetworkAdapterConfiguration (+)</p> <p>Set-SCVMConfiguration (+)</p> <p>Set-SCVMHost (+)</p> <p>Set-SCVMHostGroup (+)</p> <p>Set-SCVMHostNetworkAdapter (+)</p> <p>Set-SCVMHostProfile (+)</p> <p>Set-SCVMMServer (+)</p> <p>Shutdown-SCService (+)</p> <p>Start-SCComplianceScan (+)</p> <p>Start-SCDynamicOptimization (+)</p> <p>Start-SCService (+)</p> <p>Start-SCServicingMode (+)</p> <p>Start-SCUpdateRemediation (+)</p> <p>Start-SCUpdateServerSynchronization (+)</p> <p>Start-SCVMHost (+)</p> <p>Stop-SCJob (+)</p> <p>Stop-SCService (+)</p> <p>Stop-SCServicingMode (+)</p> <p>Stop-SCVMHost (+)</p> <p>Suspend-SCService (+)</p> <p>Test-SCLoadBalancer (+)</p> <p>Test-SCPROTip (+)</p> <p>Test-SCServiceTemplate (+)</p> <p>Test-SCVMHostCluster (+)</p> <p>Uninstall-SCApplication (+)</p> <p>Uninstall-SCServerFeature (+)</p> <p>Uninstall-SCVMHostCluster (+)</p> <p>Unregister-SCStorageLogicalUnit (+)</p> <p>Update-SCApplication (+)</p> <p>Update-SCService (+)</p> <p>Update-SCServiceConfiguration (+)</p> <p>Update-SCVirtualHardDisk (+)</p> <p>Update-SCVMConfiguration (+)</p> <p>Update-SCVMMManagedComputer (+)</p> <p>Validate-SCCapabilityProfile (+)</p> <p>Write-SCOpsMgrConnection (+)</p> <p>Add-LibraryServer (-)</p> <p>Add-LibraryShare (-)</p> <p>Add-Patch (-)</p> <p>Add-VirtualizationManager (-)</p> <p>Add-VMHost (-)</p> <p>Add-VMHostNetworkAdapter (-)</p> <p>Associate-VMHost (-)</p> <p>Backup-VMMServer (-)</p> <p>Copy-HardDisk (-)</p> <p>Copy-VMDK (-)</p> <p>Disable-VMHost (-)</p> <p>Discover-Computer (-)</p> <p>Discover-LibraryShare (-)</p> <p>Dismiss-PROTip (-)</p> <p>Enable-VMHost (-)</p> <p>Get-DependentLibraryObject (-)</p> <p>Get-HardwareProfile (-)</p> <p>Get-ISO (-)</p> <p>Get-Job (-)</p> <p>Get-LibraryRating (-)</p> <p>Get-LibraryServer (-)</p> <p>Get-LibraryShare (-)</p> <p>Get-MachineConfig (-)</p> <p>Get-OperatingSystem (-)</p> <p>Get-PROTip (-)</p> <p>Get-Script (-)</p> <p>Get-SshPublicKey (-)</p> <p>Get-Step (-)</p> <p>Get-Template (-)</p> <p>Get-VirtualFloppyDisk (-)</p> <p>Get-VirtualHardDisk (-)</p> <p>Get-VirtualizationManager (-)</p> <p>Get-VirtualNetwork (-)</p> <p>Get-VirtualNetworkAdapter (-)</p> <p>Get-VM (-)</p> <p>Get-VMHost (-)</p> <p>Get-VMHostDisk (-)</p> <p>Get-VMHostGroup (-)</p> <p>Get-VMHostNetworkAdapter (-)</p> <p>Get-VMHostRating (-)</p> <p>Get-VMHostVolume (-)</p> <p>Get-VMMManagedComputer (-)</p> <p>Get-VMMServer (-)</p> <p>Get-VMMUserRole (-)</p> <p>Get-VMXMachineConfig (-)</p> <p>Invoke-PROTip (-)</p> <p>Move-VirtualHardDisk (-)</p> <p>Move-VMHost (-)</p> <p>Move-VMHostGroup (-)</p> <p>New-MachineConfig (-)</p> <p>New-P2V (-)</p> <p>New-Template (-)</p> <p>New-V2V (-)</p> <p>New-VirtualNetwork (-)</p> <p>New-VirtualNetworkAdapter (-)</p> <p>New-VM (-)</p> <p>New-VMHostGroup (-)</p> <p>New-VMMUserRole (-)</p> <p>New-VMRCCertificateRequest (-)</p> <p>New-VMXMachineConfig (-)</p> <p>Reassociate-VMMManagedComputer (-)</p> <p>Refresh-LibraryShare (-)</p> <p>Refresh-VirtualizationManager (-)</p> <p>Refresh-VMHost (-)</p> <p>Remove-ISO (-)</p> <p>Remove-LibraryServer (-)</p> <p>Remove-LibraryShare (-)</p> <p>Remove-MachineConfig (-)</p> <p>Remove-Script (-)</p> <p>Remove-Template (-)</p> <p>Remove-VirtualFloppyDisk (-)</p> <p>Remove-VirtualHardDisk (-)</p> <p>Remove-VirtualizationManager (-)</p> <p>Remove-VirtualNetwork (-)</p> <p>Remove-VirtualNetworkAdapter (-)</p> <p>Remove-VM (-)</p> <p>Remove-VMHost (-)</p> <p>Remove-VMHostGroup (-)</p> <p>Remove-VMHostNetworkAdapter (-)</p> <p>Remove-VMMUserRole (-)</p> <p>Remove-VMXMachineConfig (-)</p> <p>Restart-Job (-)</p> <p>Set-ISO (-)</p> <p>Set-LibraryServer (-)</p> <p>Set-LibraryShare (-)</p> <p>Set-PROTip (-)</p> <p>Set-Script (-)</p> <p>Set-Template (-)</p> <p>Set-VirtualFloppyDisk (-)</p> <p>Set-VirtualHardDisk (-)</p> <p>Set-VirtualizationManager (-)</p> <p>Set-VirtualNetwork (-)</p> <p>Set-VirtualNetworkAdapter (-)</p> <p>Set-VM (-)</p> <p>Set-VMHost (-)</p> <p>Set-VMHostGroup (-)</p> <p>Set-VMHostNetworkAdapter (-)</p> <p>Set-VMHostVolume (-)</p> <p>Set-VMMServer (-)</p> <p>Set-VMMUserRole (-)</p> <p>Stop-Job (-)</p> <p>Update-VMHost (-)</p> <p>Update-VMMManagedComputer (-)</p> marco.shawhttp://www.blogger.com/profile/03696738292680659747noreply@blogger.comtag:blogger.com,1999:blog-6428310629666533418.post-90708784441771742562011-03-26T14:29:00.001-07:002011-03-26T14:29:06.386-07:00VMM 2008 R2: Changes from RTM to SP1<p>Using a script Shay Levy wrote <a href="http://blogs.microsoft.co.il/blogs/scriptfanatic/archive/2010/06/15/cmdlets-and-paremeters-differences-between-exchange-2007-and-2010.aspx">HERE</a>, I have the following list of cmdlet changes that have occurred between Microsoft System Center Virtual Machine Manager 2008 R2 and SP1.</p> <p>So below is a listing of the parameter changes to each of the cmdlets.  There aren’t actually any cmdlet changes (like a new or removed cmdlet).  In this case, all of the changes are actually just new parameters that have been added.</p> <p>All of the changes are around the new SP1 features like Dynamic Memory and RemoteFX (see <a href="http://blogs.technet.com/b/scvmm/archive/2011/03/24/system-center-virtual-machine-manager-2008-r2-sp1-available-now.aspx">HERE</a>).</p> <p>New-HardwareProfile (!) <br />    DynamicMemoryBufferPercentage (+) <br />    DynamicMemoryEnabled (+) <br />    DynamicMemoryMaximumMB (+) <br />    MemoryWeight (+) <br />    MonitorMaximumCount (+) <br />    MonitorResolutionMaximum (+) <br />    VirtualVideoAdapterEnabled (+)</p> <p>New-Template (!) <br />    DynamicMemoryBufferPercentage (+) <br />    DynamicMemoryEnabled (+) <br />    DynamicMemoryMaximumMB (+) <br />    MemoryWeight (+) <br />    MonitorMaximumCount (+) <br />    MonitorResolutionMaximum (+) <br />    VirtualVideoAdapterEnabled (+)</p> <p>New-VM (!) <br />    DynamicMemoryBufferPercentage (+) <br />    DynamicMemoryEnabled (+) <br />    DynamicMemoryMaximumMB (+) <br />    MemoryWeight (+) <br />    MonitorMaximumCount (+) <br />    MonitorResolutionMaximum (+) <br />    VirtualVideoAdapterEnabled (+)</p> <p>Set-HardwareProfile (!) <br />    DynamicMemoryBufferPercentage (+) <br />    DynamicMemoryEnabled (+) <br />    DynamicMemoryMaximumMB (+) <br />    MemoryWeight (+) <br />    MonitorMaximumCount (+) <br />    MonitorResolutionMaximum (+) <br />    VirtualVideoAdapterEnabled (+)</p> <p>Set-Template (!) <br />    DynamicMemoryBufferPercentage (+) <br />    DynamicMemoryEnabled (+) <br />    DynamicMemoryMaximumMB (+) <br />    MemoryWeight (+) <br />    MonitorMaximumCount (+) <br />    MonitorResolutionMaximum (+) <br />    VirtualVideoAdapterEnabled (+)</p> <p>Set-VM (!) <br />    DynamicMemoryBufferPercentage (+) <br />    DynamicMemoryEnabled (+) <br />    DynamicMemoryMaximumMB (+) <br />    MemoryWeight (+) <br />    MonitorMaximumCount (+) <br />    MonitorResolutionMaximum (+) <br />    VirtualVideoAdapterEnabled (+)</p> marco.shawhttp://www.blogger.com/profile/03696738292680659747noreply@blogger.comtag:blogger.com,1999:blog-6428310629666533418.post-32031453454844665552011-03-26T14:17:00.001-07:002011-03-26T14:17:32.030-07:00Cerebrata.com: A community success story<p>(I’m several months behind in putting this out!)</p> <p>A few months ago, <a href="http://www.cerebrata.com">Cerebrata</a> had a public beta of their new released Azure cmdlets.  I came across the announcement on Twitter and fired it off to others who checked it out.</p> <p>I had exchanged a few emails with their support when I discovered that something seemed to be odd/wrong when I tried to install their cmdlets on my 64-bit system.  They were very helpful in trying to determine the problem, and it was on my end.</p> <p>But that was the thing that least impressed me actually…  They were very receptive of suggestions from Microsoft MVPs around their naming conventions.  There were a few unapproved verbs and also some pluralisms in their naming.  They were very quick to make changes to their code, or provide arguments why they felt their original approach was correct.</p> <p>Thanks Guarav (from Cerebrata)!  By working together, we can try to make the PowerShell experience an awesome (and consistent) one for everyone.</p> marco.shawhttp://www.blogger.com/profile/03696738292680659747noreply@blogger.comtag:blogger.com,1999:blog-6428310629666533418.post-68225109650557396952010-12-14T22:06:00.001-08:002010-12-14T22:06:28.418-08:00/n software releases NetCmdlets v3 beta<p>I was surprised to discover that /n software has released a beta of v3 of their <a href="http://www.nsoftware.com/powershell">NetCmdlets</a>.  One of the major improvements is that it now appears it is module-based.  There are some other additions as well.</p> <p>I have it downloaded and am looking forward to finding time to check it out in action.</p> marco.shawhttp://www.blogger.com/profile/03696738292680659747noreply@blogger.comtag:blogger.com,1999:blog-6428310629666533418.post-57548446521750120522010-10-24T16:43:00.001-07:002010-10-24T16:43:27.950-07:00Using Write-EventLog…<p>I was trying to use the Write-EventLog cmdlet and was noticing additional annoying text being added to the messages.  For example:</p> <p>PS> write-eventlog -logname "Windows PowerShell" -source PowerShell –event 999 -message "Hello" <br /></p> <p>Looking at the resulting event, I would see this added: <br /></p> <p>"The description for Event ID 999 from source PowerShell cannot be <br />found. Either the component that raises this event is not installed on <br />your local computer or the installation is corrupted. You can install <br />or repair the component on the local computer...."</p> <p>I didn’t want this extra text, and couldn’t seem to figure out the problem, then came across something that Stefan Stranger did <a href="http://blogs.technet.com/b/stefan_stranger/archive/2008/05/08/new-powershell-event-creator-for-operations-manager-2007.aspx">HERE</a>:</p> <p>…</p> <p>if(![System.Diagnostics.EventLog]::SourceExists($source)) <br />{ <br />[System.Diagnostics.EventLog]::CreateEventSource($source,'Application') <br />}</p> <p>…</p> <p>The trick to getting rid of this extra text was to make my own <u>custom source</u> for my events.  Now, the extra text is gone.  I just made up “PowerShell_script”, and used that in my script.</p> marco.shawhttp://www.blogger.com/profile/03696738292680659747noreply@blogger.comtag:blogger.com,1999:blog-6428310629666533418.post-39851696748017439222010-10-01T08:48:00.001-07:002010-10-03T18:48:31.392-07:00Microsoft MVP for another year…<p>Today is my re-award date, and I just received a pleasant surprise.</p> <p>I have been awarded a Microsoft MVP award (PowerShell of course!) for another year.</p> <p>Looking back, I’ve eased up on blogging (and haven’t been able to tweet all that much), but I’ve been pretty active in other areas, and am looking to continue that for the foreseeable future.</p> <p>Microsoft: Thanks for the recognition.</p> marco.shawhttp://www.blogger.com/profile/03696738292680659747noreply@blogger.comtag:blogger.com,1999:blog-6428310629666533418.post-34490145210838805362010-09-25T16:52:00.001-07:002010-09-25T16:52:11.904-07:00Using SSH to invoke PowerShell remotely (PDF)<p>Here’s something I wrote last Spring that provides a step-by-step on how to call PowerShell remotely using password-less SSH from a Linux-based server to a Microsoft Windows 2003 Server.</p> <p>It’s a PDF you can get <a href="http://cid-18d901b0daff5738.office.live.com/self.aspx/Public/Documents/PowerShell%5E_SSH%5E_Linux.pdf">HERE</a>.</p> marco.shawhttp://www.blogger.com/profile/03696738292680659747noreply@blogger.comtag:blogger.com,1999:blog-6428310629666533418.post-29945581931373211442010-07-21T20:39:00.001-07:002010-07-21T20:39:47.135-07:00Cool application: Sapien’s PrimalMerge 2009<p>Although I’m quite busy, I try to find time to try out new products when I can.  I’m especially excited when I can try out one of these new programs to help resolve a problem I’m having.</p> <p>I don’t have any kind of personal script versioning setup, so finding what has changed from one version of one of my scripts to the next can depend on whether I’ve added change comments in my scripts.  In this particular case, I didn’t have any comments.  What to do?</p> <p>Fortunately, I have access to Sapien’s <a href="http://www.primaltools.com/products/info.asp?p=PrimalMerge">PrimalMerge</a> product, and could very quickly and easily see what the changes were between my 2 scripts.</p> <p>It saved me big time in this case!</p> marco.shawhttp://www.blogger.com/profile/03696738292680659747noreply@blogger.comtag:blogger.com,1999:blog-6428310629666533418.post-53341766121770480542010-06-11T09:10:00.001-07:002010-06-11T09:10:31.305-07:00TechEd 2010 in New Orleans – a brief report<p>I’m on my way back from my first ever TechEd.  What a great experience.  I was mostly working the PowerShell booth and trying to talk with vendors and attendees, but I did get to attend 2 PowerShell sessions.</p> <p>It’s difficult to scan a big audience, but those 2 sessions had likely between 300-500 attendees each!</p> <p>The impression I got from TechEd last year was attendees were mostly asking if they had to learn PowerShell…  This year, things have really turned around!  Most people I talked to were using it or actively wanting to learn it.</p> <p>It’s no longer “do I have to learn PowerShell?”, but instead it’s “how do I learn PowerShell?”.</p> <p>For lucky attendees, we even gave out (for free!) a few 100 copies of William Stanek’s “Windows PowerShell™ 2.0 Administrator's Pocket Consultant”.  The book is available <a href="http://oreilly.com/catalog/9780735625952/">HERE</a>.</p> marco.shawhttp://www.blogger.com/profile/03696738292680659747noreply@blogger.comtag:blogger.com,1999:blog-6428310629666533418.post-78232783859816043132010-06-11T09:02:00.001-07:002010-06-11T09:02:51.719-07:00Using Windows PowerShell with the Amazon Web Services (AWS) SDK for .NET<p>I recently had the opportunity to write an article for Amazon on how to use their .NET-based AWS SDK with PowerShell.</p> <p>You can find the article <a href="http://developer.amazonwebservices.com/connect/entry.jspa?externalID=3801">HERE</a>.</p> <p>It’s a pretty basic PowerShell article geared more for AWS users.  It shows how to load the SDK then use some of its features to get a listing of objects stored on the S3 service, and also shows how to upload local files (for backup purposes basically) to the service.</p> <p>If you have any questions or comments, please don’t hesitate to post them here or by commenting on the article itself.</p> marco.shawhttp://www.blogger.com/profile/03696738292680659747noreply@blogger.comtag:blogger.com,1999:blog-6428310629666533418.post-23363963952044531692010-05-16T12:58:00.001-07:002010-05-16T12:58:39.218-07:00TechDays 2010: My speaker bio is up<p>If you’re from Canada, you must have heard that <a href="http://www.techdays.ca">TechDays</a> is coming back for another year!  TechDays is coming back to Halifax again this November 2 and 3.</p> <p>I’m excited to have another chance to get up in front of a local crowd and spread my knowledge and make contacts, but also learn from what others are going to present.</p> <p>My bio is up <a href="http://www.techdays.ca/speakers/marco_shaw">HERE</a>.  The content is still being worked on so I don’t what I’ll present exactly, but I’ll be looking to submit a session for their new community track (“<a href="http://www.techdays.ca/sessions?Track=Local+Flavours">Local Flavours</a>”) tentatively titled: “Windows PowerShell: Automating Clients, Servers, Clouds and Everything in Between”.</p> marco.shawhttp://www.blogger.com/profile/03696738292680659747noreply@blogger.comtag:blogger.com,1999:blog-6428310629666533418.post-28795767830473510502010-04-19T16:30:00.001-07:002010-04-19T16:30:31.388-07:00Microsoft Official Course – PowerShell v2<p>Don Jones has just made it official <a href="http://www.windowsitpro.com/blogs/PowerShellwithaPurpose/tabid/2248/entryid/12724/Default.aspx">HERE</a>: Microsoft will be offering an official course on PowerShell v2.</p> <p>I have had the honour on working on some of the labs for the course, and I think it is going to be a great course packed full of information for beginner and even intermediate PowerShell users.</p> <p>I definitely agree with Don on his statement about how beneficial having a experienced instructor deliver such a course.</p> <p>Books can be a struggle, but with a in-person course, you get to ask all those questions that may be lingering in your mind or they may be able to approach a concept from a different angle to help you understand all the important topics/concepts.</p> marco.shawhttp://www.blogger.com/profile/03696738292680659747noreply@blogger.comtag:blogger.com,1999:blog-6428310629666533418.post-37346548797365179172010-03-15T08:17:00.001-07:002010-03-15T08:20:12.515-07:00Microsoft is coming to Moncton: EnergizeIT<p>Register: <a href="http://tinyurl.com/energizeit-moncton">http://tinyurl.com/energizeit-moncton</a></p> <p>Details: <br />April 20, 2010 6:30 PM - April 20, 2010 9:00 PM Atlantic Time (Canada) <br />Welcome Time: 6:00 PM </p> <p>Mapleton Rotary Pavilion <br />600 Mapleton Rd. <br />Moncton New Brunswick Canada </p> <p>Language(s):     English. <br />Product(s):     Microsoft Hyper-V Server, Microsoft Office, Microsoft Office "14", Microsoft Silverlight, Microsoft SQL Server, <br />Microsoft SQL Server 2008 R2, Microsoft technologies, Microsoft Visual Studio, Microsoft Visual Studio 2010, Windows, Windows 7 and Windows Azure. <br />Audience(s):     Architect, IT Decision Maker, IT Generalist and Pro Dev/Programmer. </p> <p>Event Overview </p> <p>Energize IT: Anything is Possible. </p> <p>Energize IT: Community Connection Series is an evening event series hosted by your local Community User Group.  Throughout the evening event, you will hear us, Microsoft advisors, talk about Windows Azure, Office System 2010, Visual Studio 2010, Windows Mobile.  It’s evident the Microsoft-based platform presents a bevy of opportunities for all of us.  Whether you are a Developer or an IT Pro, knowing how these will impact you is critical, especially in the new economic reality. </p> <p>This evening Energize IT: Community Connection event will help you understand Microsoft’s Software+Services vision.   You will find out about the possibilities that these technologies help realize and the value that they can bring to your organization and yourself. </p> <p>We will explore the Microsoft-based platform through a scenario that will demonstrate different points of view - from developer to IT Pro, from consumer to the information worker.  From the client to the cloud, this fun-filled demo-intensive exploration will excite you about the possibilities of the Microsoft-based platform.  You’ll see how to build next generation applications with technology like Silverlight, .NET 4.0 and Visual Studio 2010. You will find out how to consume those applications on a variety of devices, like mobile devices running Windows Mobile, netbooks and PCs running Windows 7, as well as the web.  You will learn about how the Microsoft-based platform allows you to connect with your colleagues no matter where you are –office, coffee shops, or your own living room.  You’ll also see how you and your colleagues can be even more productive with Office 2010 and SharePoint 2010. </p> <p>For cities that have a full day Energize IT: From the Client to the Cloud full day event, please note, the community evening event is an encore presentation of the first part of Energize 2010 daytime event. </p> <p>EnergizeIT: Community Connection series is your opportunity to learn how to harness the power and flexibility of the Microsoft-based platform from the client to the cloud. Visit www.microsoft.ca/energizeIT to learn about the Energize IT: From the Client to the Cloud Tour; EnergizeIT: Install Fests (in select cities) and Energize IT Podcasts lined up for this spring 2010 program. </p> <p>If you have any questions about this event, have food allergies or require special needs, please reference your city and email us at <a href="mailto:energizeIT@microsoft.com">energizeIT@microsoft.com</a>.</p> <p>Registration Options </p> <p>Event ID: <br />1032441793</p> marco.shawhttp://www.blogger.com/profile/03696738292680659747noreply@blogger.comtag:blogger.com,1999:blog-6428310629666533418.post-32243746290941824772010-02-13T04:15:00.001-08:002010-02-13T04:15:58.368-08:00PowerShell in Practice – 40% OFF<p>Last week <a href="http://marcoshaw.blogspot.com/2010/02/powershell-books-for-2010.html">HERE</a>, I mentioned the upcoming PowerShell books for 2010.</p> <p>Well, if you’re interested in one of these: <a href="http://www.manning.com/siddaway">PowerShell in Practice</a>, I have some good news for you: YOU CAN GET 40% OFF NOW.</p> <p>Just go to the Manning site, drop the printed or ebook edition into your shopping cart and use the code “marcoshell40” when you’re ready to check out and the discount will be applied.</p> <p>You’ll get the book when it is fresh off of the press in about 2-3 months from now likely.</p> <p>**I don’t stand to make any profit from you using the discount code.  It’s just a gift from Manning to you.**</p> marco.shawhttp://www.blogger.com/profile/03696738292680659747noreply@blogger.comtag:blogger.com,1999:blog-6428310629666533418.post-31679482434555265742010-02-03T08:59:00.001-08:002010-02-03T08:59:54.129-08:00PowerShell books for 2010<p>I wanted to post a list of the PowerShell books I’m looking forward to being out in 2010.  There may be others in the works that I’m not aware of.</p> <p>December 2009 (I’m including this in 2010): <br /><a href="http://www.amazon.com/Windows-PowerShell-Best-Practices-Microsoft/dp/0735626464/">Windows PowerShell 2.0 Best Practices</a> – Ed Wilson/Microsoft Press</p> <p>January 2010: <br /><a href="http://www.amazon.com/Windows-PowerShell-2-0-Don-Jones/dp/0982131429/">Windows PowerShell 2.0: TFM</a> – Don Jones and Jeffery Hicks/Sapien Press</p> <p>April 2010: <br /><a href="http://www.amazon.com/PowerShell-Practice-Siddaway-Richard/dp/1935182005/">PowerShell in Practice</a> – Richard Siddaway/Manning Press</p> <p>June 2010: <br /><a href="http://www.amazon.com/Windows-Powershell-Action-Bruce-Payette/dp/1935182137/">PowerShell in Action, 2nd edition</a> – Bruce Payette/Manning Press</p> <p>There’s something in that list for everyone, from the beginner to the more advanced user.  I’m going to be posting a review of Ed’s book soon.</p> <p>Now, <a href="http://www.leeholmes.com/blog/default.aspx">Lee Holmes</a> seems to be super-secretive about his authoring projects, but I’d expect to see something out this year with his name on it.</p> marco.shawhttp://www.blogger.com/profile/03696738292680659747noreply@blogger.comtag:blogger.com,1999:blog-6428310629666533418.post-51322400229299641282009-12-23T03:34:00.001-08:002009-12-23T03:34:33.709-08:00Running PowerShell in the Cloud (with Azure)<p>There's a PowerShell Azure sample application <a href="http://code.msdn.microsoft.com/windowsazuresamples">HERE</a>.</p> <p>Briefly, in Azure terminology, the sample provides:</p> <ol> <li>The code to create a ASP.NET web role, which acts as the Internet-accessible web page that provides a simple interface to type in PowerShell code.</li> <li>The sample also provides the code to create a PowerShell worker role, which is basically C# code creating a PowerShell runspace which takes the input from the ASP.NET interface.</li> <li>So once a PowerShell command is passed via the web interface, it is passed to the PowerShell runspace.  Once the PowerShell runspace finishes the command passed, it returns the results back to the ASP.NET page to display.</li> </ol> <p>I built the project yesterday using Visual Studio 2010 Beta 2.  Here’s the resulting Azure application: <a href="http://marcoposh.cloudapp.net/">http://marcoposh.cloudapp.net/</a>.  (This link may be removed early in 2010 once Azure becomes a paid service.)</p> <p>Give the above link a try.  For example, try “get-service cl*”.</p> <p>Assuming this is PowerShell version 2.0, it is a very restricted runspace, and some commands just won’t return any results…</p> marco.shawhttp://www.blogger.com/profile/03696738292680659747noreply@blogger.comtag:blogger.com,1999:blog-6428310629666533418.post-61719594086134239312009-12-01T08:15:00.001-08:002009-12-01T08:15:47.632-08:00Adding sounds to PowerGadgets<p><a href="http://www.powergadgets.com/">PowerGadgets</a> is my favorite PowerShell add-on.  I think it is time to think up more usage examples now that PowerShell v2 is “mainstream”.</p> <p>I was checking out the PowerGadgets support forums last week and came across a question <a href="http://community.softwarefx.com/forums/t/10838.aspx">HERE</a> about whether sound could be added to a gadget when the data changes.</p> <p>Well, you can do just about anything with PowerShell and PowerGadgets, and adding sound is a piece of cake.  Here’s my guest blog post on how to do this <a href="http://community.softwarefx.com/blogs/powergadgets_guest_blog/archive/2009/12/01/adding-sounds-to-powergadgets.aspx">HERE</a>.</p> <p>I also have a guest blog post there on creating a stock ticker and a flashing display…</p> marco.shawhttp://www.blogger.com/profile/03696738292680659747noreply@blogger.comtag:blogger.com,1999:blog-6428310629666533418.post-28673146599504641682009-10-17T15:07:00.001-07:002009-10-17T15:07:34.423-07:00TechDays in Halifax… Still a few spots left<p><a href="http://www.techdays.ca">TechDays</a> is near!  Halifax will be on November 2nd and 3rd.</p> <p>I’ve been accepted to do two presentations:</p> <ul> <li>Operations Manager 2007 R2 for monitoring UNIX/Linux servers.</li> <li>Server management improvements in Windows Server 2008 R2.</li> </ul> <p>There’s some PowerShell goodies, but I’m also in talks to put on a pure PowerShell deep-dive there.</p> <p>Yes, the site says Halifax is SOLD OUT, but as of yesterday, I have some inside information that there have been a few more seats freed up.</p> <p>Leave me a comment here if you want a spot!  Leave your email address and I’ll contact you directly.  Once I get your comment, I’ll delete it so your email address will never be shown.  I have it currently set that I have to moderate all comments before they will show.</p> marco.shawhttp://www.blogger.com/profile/03696738292680659747noreply@blogger.comtag:blogger.com,1999:blog-6428310629666533418.post-65061108854401672332009-10-17T15:02:00.001-07:002009-10-17T15:02:46.973-07:00PowerShell V2 Virtual Launch Party<p>Join Jeffry Snover, Hal Rottenberg and Jonathan Walz (hosts of the <a href="http://powerscripting.wordpress.com/">PowerScripting Podcast</a>) in a PowerShell V2 Virtual Launch Party this Thursday, Oct 22nd, 9:30 PM EDT (GMT-4). </p> <p>For more details and info on how to join go <a href="http://powerscripting.wordpress.com/2009/10/16/powershell-v2-virtual-launch-party/">HERE</a>.</p> marco.shawhttp://www.blogger.com/profile/03696738292680659747noreply@blogger.comtag:blogger.com,1999:blog-6428310629666533418.post-53561554670872049592009-10-07T16:32:00.001-07:002009-10-07T16:32:47.100-07:00Microsoft MVP – for another year!<p>Hey everyone…  I’m proud to announce that I was re-awarded as a Microsoft MVP for the 3rd consecutive year.</p> <p>I’m very excited to be recognized by Microsoft for my contributions to the PowerShell community!</p> marco.shawhttp://www.blogger.com/profile/03696738292680659747noreply@blogger.com