Secret USB copy tool script

Spread the love

Once a guy asked me to build a script which could detect inserted USB disk and save it’s contents to some folder. The job looked easy and fun, so I thought I could share it with everyone.

The first challenge is to detect the USB drive once it is inserted. The best way to do it is using Wait-Event cmdlet. The Wait-Event cmdlet suspends execution of a script or function until a particular event is raised. Execution resumes when the event is detected. So before we use this cmdlet, we should register an event, on which the script would proceed.

There are several ways detecting new devices on a computer. I chose this WMI query:

$Query = "SELECT * FROM Win32_VolumeChangeEvent WHERE EventType = 2 or EventType = 3";

The Win32_VolumeChangeEvent WMI class represents a local drive event that results from the addition of a drive letter or mounted drive on the computer system. I used EventTypes 2 and 3. EventType 2 represents device arrival and EventType 3device removal.

So, once we register an event, we can start waiting for it.

$Query = "SELECT * FROM Win32_VolumeChangeEvent WHERE EventType = 2 or EventType = 3";
Register-WmiEvent -Query $Query -SourceIdentifier USBFlashDrive;
Wait-Event -SourceIdentifier USBFlashDrive;

So, this part let’s us detect if a drive was inserted or removed, but it doesn’t tell us if it’s USB drive. To list all USB drives we can use this:

get-disk | Where-Object {$_.bustype -eq 'usb'}

But this will only tell us the drives that are now present. To make this work we should have an inventory of USB drives before event registration and after event detection. That way we could compare arrays of drives and find differences.

$usbDrives = get-disk | Where-Object {$_.bustype -eq 'usb'};
$Query = "SELECT * FROM Win32_VolumeChangeEvent WHERE EventType = 2 or EventType = 3";
Register-WmiEvent -Query $Query -SourceIdentifier USBFlashDrive;
Wait-Event -SourceIdentifier USBFlashDrive | Out-Null
$newDriveSet = get-disk | Where-Object {$_.bustype -eq 'usb'};
Compare-Object -ReferenceObject $usbDrives -DifferenceObject $newDriveSet -Property SerialNumber;

Overall this comparison looks fine, until you start testing. It’s not working if you do not have any USB drives mounted at the start. Then there’s nothing to compare and cmdlet fails. So we need to write a couple of ifs to make it work.

if($null -eq $usbDrives)
{
$newDriveSerialNumbers = $newDriveSet | Select-Object -ExpandProperty SerialNumber;
$usbDrives = $newDriveSet;
}
else
{
if($null -eq $newDriveSet)
{
$usbDrives = $null;
}
else
{
$newDriveSerialNumbers = Compare-Object -ReferenceObject $usbDrives -DifferenceObject $newDriveSet -Property SerialNumber | Where-Object SideIndicator -eq '=>' | Select-Object -ExpandProperty SerialNumber;
$usbDrives = $newDriveSet;
}
}

Now that we have variable with an array of serial numbers of new drives, we can start copying. But here’s the trick. When the drive is being copied, another USB drive could be inserted, so the copy mechanism should be asynchronous. At this point we will use powershell jobs. And this is really easy! You just write a scriptblock, pass some parameters to it and it works perfectly! So the scriptblock will look like this:

$fileCopyScriptblock = {
$driveLetter = $args[0] + ":\";
$timestamp = (Get-Date).ToString('yyyy-MM-dd-HHmmss');
$copyPath = "D:\usb\$timestamp";
if(!(Test-path -Path "D:\usb"))
{
New-Item -ItemType directory -Path "D:\usb" | out-null
}
Copy-Item -Path $driveLetter -Destination $copyPath -Force -Recurse;
}

We will pass the drive letter to the scriptblock, and the scriptblock will copy all the contents of the USB drive to drive D:, folder named usb.

So when the script comes all together it looks like this:

$usbDrives = get-disk | Where-Object {$_.bustype -eq 'usb'};
$Query = "SELECT * FROM Win32_VolumeChangeEvent WHERE EventType = 2 or EventType = 3";
Register-WmiEvent -Query $Query -SourceIdentifier USBFlashDrive;

#Scriptblock to copy files
$fileCopyScriptblock = {
    $driveLetter = $args[0] + ":\";
    $timestamp = (Get-Date).ToString('yyyy-MM-dd-HHmmss');
    $copyPath = "D:\usb\$timestamp";
    if(!(Test-path -Path "D:\usb"))
    {
        New-Item -ItemType directory -Path "D:\usb" | out-null
    } 
    Copy-Item -Path $driveLetter -Destination $copyPath -Force -Recurse;
}

#Process
while($true)
{
    Wait-Event -SourceIdentifier USBFlashDrive | Out-Null
    Remove-Event -SourceIdentifier USBFlashDrive | Out-Null
    $newDriveSet = get-disk | Where-Object {$_.bustype -eq 'usb'};
    if($null -eq $usbDrives)
    {
        $newDriveSerialNumbers = $newDriveSet | Select-Object -ExpandProperty SerialNumber;
        $usbDrives = $newDriveSet;
    }
    else
    {
        if($null -eq $newDriveSet)
        {
            $usbDrives = $null;
        }
        else
        {
            $newDriveSerialNumbers = Compare-Object -ReferenceObject $usbDrives -DifferenceObject $newDriveSet -Property SerialNumber | Where-Object SideIndicator -eq '=>' | Select-Object -ExpandProperty SerialNumber;
            $usbDrives = $newDriveSet;
        }
    }
    foreach($newDriveSerialNumber in $newDriveSerialNumbers)
    {
        $driveLetter = $usbDrives | Where-Object SerialNumber -eq $newDriveSerialNumber | Get-Partition | Select-Object -ExpandProperty DriveLetter;
        if($driveLetter)
        {
            Start-Job -Name "Copy USB" -ScriptBlock $fileCopyScriptblock -ArgumentList $driveLetter;
        }
    }
}

Now all you need to do is just to schedule script from Scheduler, set it to run as SYSTEM and trigger it on system startup.

165 thoughts on “Secret USB copy tool script

  1. If you are one of the thousands of people looking for a great deal, namely to play free online casino games and win real money with no deposit needed, we have the latest bonus codes that would help you achieve just that. There are a few ways that this could be achieved, but in our opinion, the easiest way to free online casino games is to use the promotions a few casinos offer, where you get a certain number of free spins, usually tied to a particular game. Most often these casino games are slots, although occasional table games are also included. As the topic suggests, those give you the opportunity to win real money, no deposit required to cashout. Here are the offers currently available: https://escortspenelope.com/foro/profile/victorinao67079/ Forum – Page Not Found Your VIP standing is undoubtedly in force designed for in one week, after which determined by your main action in the previous 14 time you may either jump and / or below this VIP ladders. Oshi casino is not going to have got a committed internet casino app, however they fit everything in to build that video gaming working experience excellent relating to each and every apparatus clients could use. Depending on website, it does not matter from which application you are opening any on line casino, since Oshi.io is truly antiphonal and ready to be taken from your personal computer, wireless, or perhaps tablet device.

  2. Нові сучасні фільми дивитися українською мовою онлайн в хорошій якості HD 5537

  3. 233.94 Написать названия станций отправления и назначения, сокращенные до 12 знаков; Если пройдена электронная регистрация и осталось меньше 1 часа до отправления, вернуть билет невозможно. Чтобы купить билеты, узнать расписание или заказать тур — регистрация не нужна. После первой покупки личный кабинет создается автоматически. После оплаты – После оплаты, на указанную вами электронную почту будет отправлен бланк заказа (ваучер).354.16 км В расписаниях указаноМЕСТНОЕ ВРЕМЯ! Вы хотите добавить запрос на поиск жд билетов со следующими параметрами: В расписаниях указаноМЕСТНОЕ ВРЕМЯ! Напомним, в Киевской области продолжается строительство дорог для пригородных электропоездов по маршруту “Васильков — Киев”. Работы выполняют по проекту электрификации участка железной дороги “Васильков-1 — Васильков-2”. Чтобы забронировать электронный билет на поезд, выберите станции отправления и назначения, далее укажите дату. Система оперативно соберет для вас расписание Киев – Кривой Рог. Билеты, представленные на сайте UFS.Travel, полностью дублируют информацию в билетных кассах. https://mirraaleksandrova.contently.com/ Время отправления: 12:55 194.75 км Если вы планируете поездку по маршруту Мариуполь в Харьков, то можете заказать жд билет на поезд 096О. Согласно правилам РЖД, стоимость жд билетов указывается на каждую конкретную дату. 0.00 Продажа билетов открыта, их можно приобрести онлайн. 12 ч 26 мин Электронная регистрация – это сервис, который поможет вам зарегистрироваться онлайн и сесть на поезд с посадочным купоном. Получать билет на бланке в кассе РЖД или терминале не нужно.Momondo.ru — метопоисковик, который при помощи роботов за несколько секунд ищет информацию о ценах на сайтах партнеров и выдает список доступных рейсов. Пассажирам остается только выбрать подходящий билет. Сама система ничего не продает, покупка осуществляется непосредственно на официальном сайте авиакомпании или агенстве бронирования. При этом компания не взымает дополнительные сборы и комиссии. Мы рекомендуем покупать авиабилеты по направлению Украина — Копенгаген за 60 дн. до даты вылета, потому что именно в это время пользователи momondo, как правило, находят лучшие цены, в среднем около ₴4 084. Лучше проверьте цены прямо сейчас, потому что пользователи momondo недавно нашли билеты всего за ₴1 378.

  4. Зрелый отчим с женой разбудили приемную дочь и трахнули ее Ну что девочки, вот и папа пришёл Кого первую отодрать за плохие отметки в школе? Я добрый папочка, очень добрый, меня на всех хватит, подходите по одной со спущенными трусиками и задранными юбочками 2019-2021 © Инцест порно — семейный секс онлайн бесплатно в HD качестве. ⭐ Все актеры старше 18-ти лет. Пузатый отец трахнул дочь за прогулы в универе Отец задолжал другу и он пришел ебать его дочь Пузатый отец трахнул дочь за прогулы в универе Мне понравилось, я бы полизал обоим Отец и дядя трахнули дочь с двойным проникновением Мне понравилось, я бы полизал обоим Мать снялась с дочкой в порно-шоу, где научила ее лизать киску Отец трахнул дочь на кровати после минета Мне понравилось, я бы полизал обоим Ну что девочки, вот и папа пришёл Кого первую отодрать за плохие отметки в школе? Я добрый папочка, очень добрый, меня на всех хватит, подходите по одной со спущенными трусиками и задранными юбочками https://wiki-quicky.win/index.php/R_порно Когда в порно врывается русская брюнетка, всем остальным давалкам приходится уходить. Черноволосая красотка знает, как подать свои дырки под лучшим соусом и ублажить самого требовательного любовника. Грудастая порно звезда отсосала парнтеру хуй и кончила после куни Воскресный секс в обществе будущей невесты и воспитанной тещи Мужик снимает порно лесбиянок и участвует с ними в групповушке. Красивая латинка зрелого возраста предается страсти с новым любовником с работы Эта высокая брюнетка с небритым лобком командует двумя своими фетиш лесбиянками, засовывая пальцы им в щелки по очереди, и заставляя вставлять игрушки себе в жопу Страстное порно с грудастой девушкой и парнем с длинным членом. Сибил Эй поначалу кинула Мануэля Феррару на секс, но после согласилась Little Caprice с другом устраивают сексуальный сюрприз для приглашенной супружеской четы Русский массажист устроил анальный массаж телке из Москвы

  5. Нові сучасні фільми дивитися українською
    мовою онлайн в хорошій якості HD link

  6. Нові сучасні фільми дивитися українською мовою онлайн в хорошій якості
    HD Link

  7. © 2022 Spinning Designs Sitemap All Rights Reserved Alongside the style and craftsmanship found in all TCSJOHNHUXLEY Roulette Wheels, the Saturnв„ў Roulette Wheel also boasts several in-built security features which make it the most technically advanced wheel available worldwide. Decisions Taken Around the globe, TCSJOHNHUXLEY is recognised for the most reliably random and secure Roulette Wheels available today. The Mark VII Roulette Wheel reflects this quality, demonstrating over four decades of TCSJOHNHUXLEY’s manufacturing expertise and craftsmanship. With an extensive range of veneers and hand painted styles available to suit any casino style, the Mark VII is unlike any other wheel, allowing for customised illustrations and logos to fit any casino theme or brand. Operators may also choose between our standard gloss finish on the Mark VII wheel bowl or opt for the matt finish to avoid lighting glare, making it ideal for online or broadcast casino games. http://cruzxnbq643108.dgbloggers.com/10959036/hd-live-blackjack Topic Icons: Not Replied Replied Active Hot Sticky Unapproved Solved Private Closed If you liked the video and would like me to connect with you over an ONLINE call this week, please fill in below details. Match Bonuses or Welcome Bonuses are funds credited to a player’s account after making a deposit. These can be hundreds of dollars and even thousands, and are a great benefit for players looking to make a deposit. Get a reliable ride in minutes More people should be aware of them, players just have to log in to their gaming accounts on the browser of their mobile device. Included in these are the Bonus Terms and Conditions which are just as important, Sheng Chiang. Fitzgerald casino robinsonville mississippi it is a fun option for average slot machine bettors, Sheng Fu. The legislation forbids betting on Illinois college teams, et al. You want to play with an amount of money you can afford to lose, a fee based on your outstanding balance and interest rate is added to your accumulated balance. It is only logical that throughout the countless years of waging, you can enjoy playing some of the newest mobile slots on any smartphone such as iPhone.

  8. Here we review the best no deposit casinos for New Zealanders, who are spoilt for choice as there are very few casinos that do not allow real money play from New Zealand. We will show you which casinos offer the best no deposit bonus and free spins, and how to compare them. So! Just choose best bonus. Nun mГ¶chten wir alle Infos zusammenfassen und sagen, dass Casino 5 Euro Mindesteinzahlung perfekte MГ¶glichkeit fГјr Sie ist, mit wenig Geld die Slots zu testen. Sie kГ¶nnen sogar etwas gewinnen, wenn Sie Geduld und GlГјck haben. Dazu lohnt es sich zu sagen, dass wenn Sie im online Casino 5 Euro einzahlen, bekommen Sie sehr oft den Bonus, den Sie auch fГјr weitere Spiele nutzen kГ¶nnen. Es hГ¤ngt aber davon ab, in welchem Casino Sie spielen werden. Casinos cater to customers with all sorts of budgets and in Ireland there is a growing number of 5 euros minimum deposit casinos that are available to join nowadays. https://www.whichquery.com/digiskills/forum/profile/betteharker520/ LUCHA200 is a 200% welcome bonus that also gets you $25 free spins on Lucha Libre 2, a new 5 reel slot at Bovegas Casino. Since this bonus has a maximum amount we would deposit no more than $1000 because depositing more than that would not yield any more bonus money. You can find another review of the top BoVegas bonus codes at bonuspromocode.com bovegas-no-deposit-bonus-codes . No Deposit Bonus Casino 2022 Red Stag Casino Casino bonuses make a good impression on customers. Thus, licensed casinos always offer profitable promotions for their users. The main question is where to find these bonus codes. Everything is simple! We can find a lot of bonuses on the official website. What is more, other BoVegas no deposit bonus codes 2021 can be found in the public domain. And Levelup Casino Review – Levelup Casino no deposit bonus codes – (25 Free Spins) LevelUp Casino was established in 2020, a recent casino site operating under the curacao gambling authority….

  9. At the time, Apple did state that it would not make this ban permanent and once the online casinos addressed the various concerns, they would be able to return to the App store. That day has come and online casino apps for real money are flooding back into the App store. With it, the casinos are again developing apps again. Find out what users think of Betway Real Money Casino Games by reading the reviews and checking the rating. Lots of online casinos offer their clients a wide range of bonuses, promotions and rewards in order to attract them to spend more time on their real money casino apps, and the more they play games like roulette and slots machines, the more their chances of winning some real money increase. Casino apps are available at no cost to players. However, not all gambling apps allow you to play using real money. Before downloading an app, check for restrictions regarding the use of real money with games that are available via the app. https://robotex.ee/foorum/profile/malindacato982/ However, the highlight of the casino games is the Provably Fair system. In fact, it seems like the 7 casino games exist simply as a case study of this unique fairness system. We’ve already asked a few questions in the bitcointalk forum where they’re promoting their ICO to the bitcoin community. There are also many unique casino game offerings – ‘BC Originals’ – specifically with a crypto focus. Including dice games, video poker, Baccarat, Blackjack variants, Roulette, Keno and Slots. They also have a live dealer casino provided by Evolution Gaming. All games are audited as provably fair. Nothing about the pace of the gameplay will change, and with sufficient traffic of players to keep games running, a poker site that accepts Bitcoins is a very handy option. Crypto card rooms are equipped with everything you expect them to, from cash games to Sit & Go’s to weekly and weekend tournaments.

  10. Новинки фільми, серіали, мультфільми
    2021 року, які вже вийшли Ви
    можете дивитися українською на нашому сайті
    Link

  11. Hello аll, guуs! Ι know, my meѕsagе may be tоo speсifіс,
    Вut mу ѕіѕter found nісe mаn herе and thеу mаrrіed, ѕo hоw аbоut mе?ǃ 🙂
    Ι am 25 years old, Αlenа, from Ukrаine, Ι know Еnglіѕh аnd Germаn languagеѕ аlѕо
    Аnd… Ι havе spеcіfіс diѕеаsе, nаmеd nymрhomania. Ԝho know whаt іѕ thiѕ, сan undеrstаnd me (better to say іt іmmеdiately)
    Αh yes, Ι сook very tаsty! and Ι lоve nоt onlу coоk ;))
    Ιm real gіrl, not рroѕtitute, and lookіng for ѕerіоus and hot relatiоnshiр…
    Аnyway, уоu cаn fіnd mу рrofіle here: http://tegilo.tk/user/3170/

  12. 41 spel När du stängt av dig via Spelpaus.se kan du hos vissa spelbolag fortfarande logga in för att till exempel se ditt saldo men du kan inte spela. Om spelbolaget får information om att en spelare är avstängd från spel tills vidare, ska spelbolaget omedelbart avsluta spelkontot och betala ut kvarvarande pengar. Kontakta spelbolagets kundtjänst och be att de betalar ut kvarvarande pengar till ditt angivna bankkonto.  Sveriges ledande sajt för underhållning och livsstil. Recensioner, tester och det senaste och bästa inom teknik, spel, tv, film, prylar, resor, hälsa och mat. När du hittar ett gratisspel som du vill spela, kan du behöva skapa ett användarkonto. Om så är fallet kommer det att gå snabbt då inga ekonomiska uppgifter krävs för att spela gratisspel. Vissa casinon kommer efter hand att fråga efter en insättning för att du ska kunna fortsätta att spela. Om du vill fortsätta att spela gratisspel, kan du sätta in så lite som 10$ för att hålla ditt konto aktivt. Notera att du aldrig kan lösa ut vad du vunnit på gratisspel. https://brelax.de/community/profile/sergio204281190/ Scatters Casino är ett Curacao-baserat nätcasino som har funnits i ett flertal år. I dagsläget så accepterar detta utländska casino utan svensk licens med Bank-ID spelare utanför Sverige. Man ger nya spelare en mycket omtyckt välkomstbonus. Till skillnad från operatörer i Sverige så kan Scatters erbjuda en €25 riskfri bonus till sina spelare. Det är en fördel för såväl spelare som utländska casinon, vilket gör det svårt för licensierade operatörer att konkurrera med nordiska spelbolag utan licens. Om du väljer att registrera dig hos ett casino med svensk licens på dagens spelmarknad måste du ställa in såväl en insättnings- som förlustgräns innan spel. I samband med lagändringen upprättades även det nationella spärregisteret Spelpaus.se där du har möjlighet att stänga av dig själv från alla licensinnehavare om du känner att du känner att du börjat tappa kontrollen över ditt spelande.

  13. To attach a rune to a piece of gear: Open the Pause menu and go to your Inventory. Select the piece of gear which you would like a rune assigned to. Please note that runes can only be assigned to gear which is of Superior quality or better. It won’t be in Cleveland. To calculate your odds of winning in roulette, you can either do so manually or you can use Roulette77.us’s dedicated calculator. You can crunch the numbers for both simple and combined bets and always be one step ahead of the casinos. Obit Cimino_LaMo.jpg Midwest and South: $2.3b March 21st, 2022 The contest rotates through travel photography blogs, so the winner of the previous round of Travel Photo Roulette hosts the subsequent round on their own blog. The new host then chooses the next theme (a generic keyword or phrase) and people submit their interpretations of the theme over the course of the week of the contest. https://forum.microstartup.co/profile/susiebannan6645/ Serving up a wide selection of real money online slots, including some really fun horror titles (if that’s your thing), Powerplay casino is another of the best Canadian slots sites to consider in terms of options, promos, and good old fashioned fun. You can win big playing real money casino games. Sites offer a wide variety of slots and tables. You’ll even find keno, bingo, and scratch cards among the specialty games. The free slot machines with free spins no download required include all online casino games types like video pokies, classic pokies, 3D, and fruit machines. New free slots 2022 offer the releases and the latest demos releases of the new casino games and free slots 2022 with free spins. Free slots no download games available anytime with an internet connection, no Email address, no registration details needed to gain access. Once logged in, you’re getting an instant play by clicking on the free spin button to start a game session.

Leave a Reply

Your email address will not be published.