How do you use DSC to [declaratively] change the drive letter of the CDROM?

Welcome Forums DSC (Desired State Configuration) How do you use DSC to [declaratively] change the drive letter of the CDROM?

Viewing 7 reply threads
  • Author
    Posts
    • #38611
      Participant
      Topics: 24
      Replies: 8
      Points: 0
      Rank: Member

      How do you use DSC to [declaratively] change the drive letter of the CDROM? I know how to use PowerShell to do this [imperatively]. I want the drive letter to be “i” on every server.

    • #38612
      Participant
      Topics: 2
      Replies: 234
      Points: 189
      Rank: Participant

      Hey there Kiran. I haven’t seen a DSC resource to change a CD-ROM drive, but you could always create a custom DSC resource. The easiest way to do it would be using the xDSCResourceDesigner module.

      I’ve actually got a walkthrough here if it helps. https://blogs.technet.microsoft.com/heyscriptingguy/2016/01/22/conceptualize-desired-state-configuration-part-6/

    • #38616
      Participant
      Topics: 5
      Replies: 261
      Points: -19
      Rank: Member

      The association of drive letters is in the registry, find the key and use the xRegistry resource.
      Other way would probably involve calling .net class directly from powershell, so you can use the Script built in resource and execute the drive-change-ps-script via the script resource

    • #38677
      Participant
      Topics: 2
      Replies: 234
      Points: 189
      Rank: Participant

      You still have to configure Get, Set, and Test with the script resource though. If you’re going to go that far, you might as well create the DSC resource so your configuration looks cleaner. Auditors and Managers find DSC Resource Providers less scary than code. 🙂

    • #38711
      Participant
      Topics: 24
      Replies: 8
      Points: 0
      Rank: Member

      You recommend I create a custom DSC resource even though I am using WMF 4?

    • #38716
      Participant
      Topics: 24
      Replies: 111
      Points: 0
      Rank: Member

      @Kiran, here is a basic example for changing the CDROM drive letter using a script resource.

      Script ChangeCDROMDriveLetter 
      {
          GetScript = {
              @{
                  GetScript = $GetScript
                  SetScript = $SetScript
                  TestScript = $TestScript
                  Result = (Get-CimInstance -ClassName Win32_Volume -Filter "DriveLetter = 'D:'").DriveType -ne 5
              }           
          }
                  
          SetScript = {
              Get-CimInstance -ClassName Win32_Volume -Filter "DriveLetter = 'D:'" | Set-CimInstance -Property @{ DriveLetter = "Z:" }
          }
      
          TestScript = {
              $Status = (Get-CimInstance -ClassName Win32_Volume -Filter "DriveLetter = 'D:'").DriveType -ne 5
              $Status -eq $True
          }
      }
      
    • #38810
      Participant
      Topics: 24
      Replies: 8
      Points: 0
      Rank: Member

      Edit: Thank you very much for everyone who responded. Zuldan really helped me!

    • #61494
      Stu
      Participant
      Topics: 0
      Replies: 1
      Points: 0
      Rank: Member

      I’ve just published cCDROMdriveletter as a personal learning exercise in how to publish a custom DSC resource to the PSGallery.

      It is a bit over the top to have this in its own custom manifest, but that made it simpler and more self-contained. This is my first use of Appveyor too!

      At some point, I’ll learn enough Pester to write some unit tests, but I’ve tested it on a Win10 & 2012R2 boxes in the interim.

      Feedback welcome via github.

Viewing 7 reply threads
  • The topic ‘How do you use DSC to [declaratively] change the drive letter of the CDROM?’ is closed to new replies.