PowerShell: Rene Pärnpuu, Printerid.ps1

From ICO wiki
Revision as of 09:44, 24 May 2011 by Rparnpuu (talk | contribs) (→‎Skript)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

Kirjeldus

Skript otsib lokaalsest arvutist ülesse kõik installeeritud printerid ja shareb kõikidele kasutajatele antud arvutis. gwmi win32_printer leiab kõik installeeritud printerid ning tänu filtrile võtame ainult lokaalsed. foreachiga laseme kõik printerid läbi ja tekitame sharename. Sharenamega probleemide vältimiseks asendame tühikud ja imesümbolid märgiga '_'

Skript

$printerid = gwmi win32_printer -filter "local='$true'" foreach ($printer in $printerid) {

   $nimi = $printer.Name
   $chars = ':', '?', '/', '\', '*', '<', '>', '|', '"', ' '
   foreach ($char in $chars) {
   while ($nimi.Contains($char)) {
     $nimi = $nimi -replace $char,'_'
     }
   }
   IF ($printer.ShareName -eq $Null)
   {
   $printer.ShareName = "share_$nimi"
   }
   IF (!$printer.Shared)
   {
   $printer.Shared = "True"
   }
   $shareStatus = $printer.Shared
   $shareName = $printer.ShareName
   "Printer: $nimi"
   "Shared: $shareStatus"
   "ShareName: $shareName" }