{"id":2253,"date":"2017-07-20T18:40:39","date_gmt":"2017-07-20T18:40:39","guid":{"rendered":"http:\/\/microsoftgeek.com\/?p=2253"},"modified":"2017-07-20T18:40:39","modified_gmt":"2017-07-20T18:40:39","slug":"add-a-computer-to-an-active-directory-domain-with-powershell","status":"publish","type":"post","link":"https:\/\/microsoftgeek.com\/?p=2253","title":{"rendered":"Add a computer to an Active Directory domain with PowerShell"},"content":{"rendered":"<p>A common task many system administrators do is adding computers to an Active Directory domain. Since Active Directory is embedded in so many organizations, nearly every IT professional is probably familiar with the box below.<\/p>\n<div id=\"attachment_80788\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-80788\" src=\"https:\/\/4sysops.com\/wp-content\/uploads\/2017\/03\/Active-Directory-domain-join.png\" alt=\"Active Directory domain join\" width=\"303\" height=\"371\" \/><\/p>\n<p class=\"wp-caption-text\">Active Directory domain join<\/p>\n<\/div>\n<p>This PowerShell snippet above connects remotely to the computer NAMEHERE, attempts to join it to the domain domain.here and then afterward restarts it. No more logging on computers and clicking around. This method not only speeds up joining a domain on a single machine but also can easily extend to multiple devices as well if the computer names are stored somewhere else, like a text file.<\/p>\n<div id=\"crayon-5970f1c64174f760094118\" class=\"crayon-syntax crayon-theme-tomorrow-copy crayon-font-monaco crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-always\">\n<div class=\"crayon-toolbar\" data-settings=\" show\"><\/div>\n<div class=\"crayon-plain-wrap\"><\/div>\n<div class=\"crayon-main\">\n<table class=\"crayon-table\">\n<tbody>\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"show\">\n<div class=\"crayon-nums-content\">\n<div class=\"crayon-num\" data-line=\"crayon-5970f1c64174f760094118-1\">1<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5970f1c64174f760094118-2\">2<\/div>\n<\/div>\n<\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\">\n<div id=\"crayon-5970f1c64174f760094118-1\" class=\"crayon-line\"><span class=\"crayon-sy\">$<\/span><span class=\"crayon-v\">computers<\/span> <span class=\"crayon-o\">=<\/span> <span class=\"crayon-v\">Get<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-v\">Content<\/span> <span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-i\">Path<\/span> <span class=\"crayon-v\">C<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-sy\">\\<\/span><span class=\"crayon-v\">Computers<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">txt<\/span><\/div>\n<div id=\"crayon-5970f1c64174f760094118-2\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-v\">Add<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-v\">Computer<\/span> <span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-i\">ComputerName<\/span> <span class=\"crayon-sy\">$<\/span><span class=\"crayon-v\">computers<\/span> <span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-i\">Domain<\/span> <span class=\"crayon-s\">&#8216;domain.here&#8217;<\/span> <span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-v\">Restart<\/span><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>Using PowerShell is a great start, but chances are you need more flexibility. You may also want to add the computer to a specified organizational unit, ensure that the computer rebooted successfully, and so on.<\/p>\n<p>For some additional actions, the Add-Computer cmdlet provides other parameters. Use help Add-Computer -Detailed to see what it can do. But there are some things that Add-Computer cannot do as well.<\/p>\n<p>For example, I like to verify an organizational unit exists before attempting to add a computer to it. Likewise, I also prefer to get some notification when the computer comes back up after a reboot. Let&#8217;s build a tool in PowerShell to give us some additional functionality.<\/p>\n<p>To build this tool, we&#8217;ll first create a &#8220;wrapper&#8221; function around Add-Computer. This wrapper function will allow us to tack on additional behavior.<\/p>\n<div id=\"crayon-5970f1c641759288477839\" class=\"crayon-syntax crayon-theme-tomorrow-copy crayon-font-monaco crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-always\">\n<div class=\"crayon-toolbar\" data-settings=\" show\"><\/div>\n<div class=\"crayon-plain-wrap\"><\/div>\n<div class=\"crayon-main\">\n<table class=\"crayon-table\">\n<tbody>\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"show\">\n<div class=\"crayon-nums-content\">\n<div class=\"crayon-num\" data-line=\"crayon-5970f1c641759288477839-1\">1<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5970f1c641759288477839-2\">2<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5970f1c641759288477839-3\">3<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5970f1c641759288477839-4\">4<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5970f1c641759288477839-5\">5<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5970f1c641759288477839-6\">6<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5970f1c641759288477839-7\">7<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5970f1c641759288477839-8\">8<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5970f1c641759288477839-9\">9<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5970f1c641759288477839-10\">10<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5970f1c641759288477839-11\">11<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5970f1c641759288477839-12\">12<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5970f1c641759288477839-13\">13<\/div>\n<\/div>\n<\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\">\n<div id=\"crayon-5970f1c641759288477839-1\" class=\"crayon-line\"><span class=\"crayon-t\">function<\/span> <span class=\"crayon-e\">Add<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-e\">AcmeComputer<\/span> <span class=\"crayon-sy\">{<\/span><\/div>\n<div id=\"crayon-5970f1c641759288477839-2\" class=\"crayon-line crayon-striped-line\">\u00a0\u00a0\u00a0 <span class=\"crayon-e\">param<\/span><span class=\"crayon-sy\">(<\/span><\/div>\n<div id=\"crayon-5970f1c641759288477839-3\" class=\"crayon-line\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <span class=\"crayon-sy\">[<\/span><span class=\"crayon-t\">string<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-sy\">$<\/span><span class=\"crayon-i\">ComputerName<\/span><\/div>\n<div id=\"crayon-5970f1c641759288477839-4\" class=\"crayon-line crayon-striped-line\">\u00a0\u00a0\u00a0 <span class=\"crayon-sy\">)<\/span><\/div>\n<div id=\"crayon-5970f1c641759288477839-5\" class=\"crayon-line\"><\/div>\n<div id=\"crayon-5970f1c641759288477839-6\" class=\"crayon-line crayon-striped-line\">\u00a0\u00a0\u00a0 <span class=\"crayon-st\">foreach<\/span> <span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">$<\/span><span class=\"crayon-e\">computer <\/span><span class=\"crayon-st\">in<\/span> <span class=\"crayon-sy\">$<\/span><span class=\"crayon-v\">ComputerName<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-sy\">{<\/span><\/div>\n<div id=\"crayon-5970f1c641759288477839-7\" class=\"crayon-line\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <span class=\"crayon-st\">if<\/span> <span class=\"crayon-sy\">(<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-st\">not<\/span> <span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">Test<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-v\">Connection<\/span> <span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-i\">ComputerName<\/span> <span class=\"crayon-sy\">$<\/span><span class=\"crayon-v\">computer<\/span> <span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-v\">Quiet<\/span> <span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-i\">Count<\/span> <span class=\"crayon-cn\">1<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-sy\">{<\/span><\/div>\n<div id=\"crayon-5970f1c641759288477839-8\" class=\"crayon-line crayon-striped-line\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <span class=\"crayon-v\">Write<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-i\">Warning<\/span> <span class=\"crayon-s\">&#8220;Could not ping computer [$computer]&#8221;<\/span><\/div>\n<div id=\"crayon-5970f1c641759288477839-9\" class=\"crayon-line\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <span class=\"crayon-sy\">}<\/span> <span class=\"crayon-st\">else<\/span> <span class=\"crayon-sy\">{<\/span><\/div>\n<div id=\"crayon-5970f1c641759288477839-10\" class=\"crayon-line crayon-striped-line\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <span class=\"crayon-p\">## Do some more stuff<\/span><\/div>\n<div id=\"crayon-5970f1c641759288477839-11\" class=\"crayon-line\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <span class=\"crayon-sy\">}<\/span><\/div>\n<div id=\"crayon-5970f1c641759288477839-12\" class=\"crayon-line crayon-striped-line\">\u00a0\u00a0\u00a0 <span class=\"crayon-sy\">}<\/span><\/div>\n<div id=\"crayon-5970f1c641759288477839-13\" class=\"crayon-line\"><span class=\"crayon-sy\">}<\/span><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>Notice that I&#8217;ve created the start of a tool. I&#8217;ve given it a name similar to Add-Computer yet customized it to my organization and created a few parameters that resemble parameters on Add-Computer. I also added some additional validation already. I&#8217;m first pinging the computer to ensure it&#8217;s online before doing anything else. Why even attempt to join the computer to a domain if it&#8217;s not even online?<\/p>\n<p>Next, I&#8217;ll fill in some code in the else block. Here is where I can add anything I need to do before or after joining the computer to the domain. For kicks, let&#8217;s add some functionality to ensure the computer reboots and comes back up after we join it to a domain. To do this, I&#8217;ll add a Wait parameter that is not on the Add-Computer command. I&#8217;ll then add the code necessary to wait for the computer only if I use the Wait parameter.<\/p>\n<div id=\"crayon-5970f1c64175f742109023\" class=\"crayon-syntax crayon-theme-tomorrow-copy crayon-font-monaco crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-always\">\n<div class=\"crayon-toolbar\" data-settings=\" show\"><\/div>\n<div class=\"crayon-plain-wrap\"><\/div>\n<div class=\"crayon-main\">\n<table class=\"crayon-table\">\n<tbody>\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"show\">\n<div class=\"crayon-nums-content\">\n<div class=\"crayon-num\" data-line=\"crayon-5970f1c64175f742109023-1\">1<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5970f1c64175f742109023-2\">2<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5970f1c64175f742109023-3\">3<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5970f1c64175f742109023-4\">4<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5970f1c64175f742109023-5\">5<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5970f1c64175f742109023-6\">6<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5970f1c64175f742109023-7\">7<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5970f1c64175f742109023-8\">8<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5970f1c64175f742109023-9\">9<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5970f1c64175f742109023-10\">10<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5970f1c64175f742109023-11\">11<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5970f1c64175f742109023-12\">12<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5970f1c64175f742109023-13\">13<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5970f1c64175f742109023-14\">14<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5970f1c64175f742109023-15\">15<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5970f1c64175f742109023-16\">16<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5970f1c64175f742109023-17\">17<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5970f1c64175f742109023-18\">18<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5970f1c64175f742109023-19\">19<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5970f1c64175f742109023-20\">20<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5970f1c64175f742109023-21\">21<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5970f1c64175f742109023-22\">22<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5970f1c64175f742109023-23\">23<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5970f1c64175f742109023-24\">24<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5970f1c64175f742109023-25\">25<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5970f1c64175f742109023-26\">26<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5970f1c64175f742109023-27\">27<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5970f1c64175f742109023-28\">28<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5970f1c64175f742109023-29\">29<\/div>\n<\/div>\n<\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\">\n<div id=\"crayon-5970f1c64175f742109023-1\" class=\"crayon-line\"><span class=\"crayon-t\">function<\/span> <span class=\"crayon-e\">Add<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-e\">AcmeComputer<\/span> <span class=\"crayon-sy\">{<\/span><\/div>\n<div id=\"crayon-5970f1c64175f742109023-2\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-e\">param<\/span><span class=\"crayon-sy\">(<\/span><\/div>\n<div id=\"crayon-5970f1c64175f742109023-3\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-t\">string<\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-sy\">$<\/span><span class=\"crayon-v\">ComputerName<\/span><span class=\"crayon-sy\">,<\/span><\/div>\n<div id=\"crayon-5970f1c64175f742109023-4\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-t\">string<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-sy\">$<\/span><span class=\"crayon-v\">Domain<\/span><span class=\"crayon-sy\">,<\/span><\/div>\n<div id=\"crayon-5970f1c64175f742109023-5\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-st\">switch<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-sy\">$<\/span><span class=\"crayon-i\">Wait<\/span><\/div>\n<div id=\"crayon-5970f1c64175f742109023-6\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div id=\"crayon-5970f1c64175f742109023-7\" class=\"crayon-line\"><\/div>\n<div id=\"crayon-5970f1c64175f742109023-8\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-st\">foreach<\/span> <span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">$<\/span><span class=\"crayon-e\">computer <\/span><span class=\"crayon-st\">in<\/span> <span class=\"crayon-sy\">$<\/span><span class=\"crayon-v\">ComputerName<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-sy\">{<\/span><\/div>\n<div id=\"crayon-5970f1c64175f742109023-9\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-st\">if<\/span> <span class=\"crayon-sy\">(<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-st\">not<\/span> <span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">Test<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-v\">Connection<\/span> <span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-i\">ComputerName<\/span> <span class=\"crayon-sy\">$<\/span><span class=\"crayon-v\">computer<\/span> <span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-v\">Quiet<\/span> <span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-i\">Count<\/span> <span class=\"crayon-cn\">1<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-sy\">{<\/span><\/div>\n<div id=\"crayon-5970f1c64175f742109023-10\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-v\">Write<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-i\">Warning<\/span> <span class=\"crayon-s\">&#8220;Could not ping computer [$computer]&#8221;<\/span><\/div>\n<div id=\"crayon-5970f1c64175f742109023-11\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-sy\">}<\/span> <span class=\"crayon-st\">else<\/span> <span class=\"crayon-sy\">{<\/span><\/div>\n<div id=\"crayon-5970f1c64175f742109023-12\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-v\">Write<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-i\">Information<\/span> <span class=\"crayon-s\">&#8220;[$computer] is being added to domain [$Domain]&#8230;&#8221;<\/span><\/div>\n<div id=\"crayon-5970f1c64175f742109023-13\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-v\">Add<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-v\">Computer<\/span> <span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-i\">ComputerName<\/span> <span class=\"crayon-sy\">$<\/span><span class=\"crayon-v\">computer<\/span> <span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-i\">Domain<\/span> <span class=\"crayon-sy\">$<\/span><span class=\"crayon-v\">Domain<\/span> <span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-e\">Restart<\/span><\/div>\n<div id=\"crayon-5970f1c64175f742109023-14\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-e\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-st\">if<\/span> <span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">$<\/span><span class=\"crayon-v\">Wait<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">IsPresent<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-sy\">{<\/span><\/div>\n<div id=\"crayon-5970f1c64175f742109023-15\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-p\">## Give it some time to go offline<\/span><\/div>\n<div id=\"crayon-5970f1c64175f742109023-16\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-st\">while<\/span> <span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">Test<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-v\">Connection<\/span> <span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-i\">ComputerName<\/span> <span class=\"crayon-sy\">$<\/span><span class=\"crayon-v\">computer<\/span> <span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-v\">Quiet<\/span> <span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-i\">Count<\/span> <span class=\"crayon-cn\">1<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-sy\">{<\/span><\/div>\n<div id=\"crayon-5970f1c64175f742109023-17\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-v\">Start<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-v\">Sleep<\/span> <span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-i\">Seconds<\/span> <span class=\"crayon-cn\">2<\/span><\/div>\n<div id=\"crayon-5970f1c64175f742109023-18\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div id=\"crayon-5970f1c64175f742109023-19\" class=\"crayon-line\"><\/div>\n<div id=\"crayon-5970f1c64175f742109023-20\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-p\">## It&#8217;s now offline, wait for it to come back<\/span><\/div>\n<div id=\"crayon-5970f1c64175f742109023-21\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-st\">while<\/span> <span class=\"crayon-sy\">(<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-st\">not<\/span> <span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">Test<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-v\">Connection<\/span> <span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-i\">ComputerName<\/span> <span class=\"crayon-sy\">$<\/span><span class=\"crayon-v\">computer<\/span> <span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-v\">Quiet<\/span> <span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-i\">Count<\/span> <span class=\"crayon-cn\">1<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-sy\">{<\/span><\/div>\n<div id=\"crayon-5970f1c64175f742109023-22\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-v\">Start<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-v\">Sleep<\/span> <span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-i\">Seconds<\/span> <span class=\"crayon-cn\">2<\/span><\/div>\n<div id=\"crayon-5970f1c64175f742109023-23\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-v\">Write<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-i\">Information<\/span> <span class=\"crayon-s\">&#8220;[$computer] rebooted and is back!&#8221;<\/span><\/div>\n<div id=\"crayon-5970f1c64175f742109023-24\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div id=\"crayon-5970f1c64175f742109023-25\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div id=\"crayon-5970f1c64175f742109023-26\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-v\">Write<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-i\">Information<\/span> <span class=\"crayon-s\">&#8220;[$computer] was added to domain [$Domain]&#8230;&#8221;<\/span><\/div>\n<div id=\"crayon-5970f1c64175f742109023-27\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div id=\"crayon-5970f1c64175f742109023-28\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div id=\"crayon-5970f1c64175f742109023-29\" class=\"crayon-line\"><span class=\"crayon-sy\">}<\/span><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>Once you&#8217;ve got the function to this point, adding new functionality is a piece of cake. Your situation will most likely be different from mine, and you will have additional requirements. But now, you have the foundation completed to add more of your own validation or pre- and post-domain-joining tasks.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A common task many system administrators do is adding computers to an Active Directory domain. Since Active Directory is embedded in so many organizations, nearly every IT professional is probably familiar with the box below. Active Directory domain join This PowerShell snippet above connects remotely to the computer NAMEHERE, attempts to join it to the [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[42,59],"tags":[],"class_list":["post-2253","post","type-post","status-publish","format-standard","hentry","category-ad","category-powershell"],"_links":{"self":[{"href":"https:\/\/microsoftgeek.com\/index.php?rest_route=\/wp\/v2\/posts\/2253","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/microsoftgeek.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/microsoftgeek.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/microsoftgeek.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/microsoftgeek.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2253"}],"version-history":[{"count":1,"href":"https:\/\/microsoftgeek.com\/index.php?rest_route=\/wp\/v2\/posts\/2253\/revisions"}],"predecessor-version":[{"id":2254,"href":"https:\/\/microsoftgeek.com\/index.php?rest_route=\/wp\/v2\/posts\/2253\/revisions\/2254"}],"wp:attachment":[{"href":"https:\/\/microsoftgeek.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2253"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/microsoftgeek.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2253"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/microsoftgeek.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2253"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}