Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

Powershell join domain full automation

Posted on 2013-06-03
8
Medium Priority
?
563 Views
Last Modified: 2014-10-25
I'm trying to create a script to completely automate joining the domain to use during a wds image deployment. I don't want to use the WAIK option because the password is stored in plain text in the xml file. So I've found some powershell scripts online that look like they could work.

This is the command I used to create my encrypted file which contains the password.

---------------------------------------------------------------------------------------

read-host -assecurestring | convertfrom-securestring | out-file C:\securestring.txt

---------------------------------------------------------------------------------------

Here's the script I'm using.

---------------------------------------------------------------------------------------

$domain = "MYDOMAIN.COM"
$password = cat C:\securestring.txt | ConvertTo-SecureString -Force
$username = "$domain\MYUSERNAME"
$credential = New-Object System.Management.Automation.PSCredential($username,$password)
Add-Computer -DomainName $domain -Credential $credential

---------------------------------------------------------------------------------------

Here's the error I'm getting.

---------------------------------------------------------------------------------------

C:\>powershell
Windows PowerShell
Copyright (C) 2009 Microsoft Corporation. All rights reserved.

PS C:\> $domain = "MYDOMAIN.COM"
PS C:\> $password = cat C:\securestring.txt | ConvertTo-Secure
String -Force
ConvertTo-SecureString : Cannot process argument because the value of argument
"input" is invalid. Change the value of the "input" argument and run the operat
ion again.
At line:1 char:66
+ $password = cat C:\securestring.txt | ConvertTo-SecureString <<<<  -Forc
e
    + CategoryInfo          : InvalidArgument: (:) [ConvertTo-SecureString], P
   SArgumentException
    + FullyQualifiedErrorId : ImportSecureString_InvalidArgument,Microsoft.Pow
   erShell.Commands.ConvertToSecureStringCommand

---------------------------------------------------------------------------------------
0
Comment
Question by:revenuecyclepartners
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
8 Comments
 
LVL 23

Expert Comment

by:Stelian Stan
ID: 39216763
0
 
LVL 41

Accepted Solution

by:
footech earned 2000 total points
ID: 39217469
You can use just WDS for this.  The image unattend file doesn't need to have credentials stored in it if you do an unsecure join (don't let the term fool you, there's nothing to worry about).  See here:
http://technet.microsoft.com/en-us/library/cc730845(v=ws.10).aspx
0
 
LVL 40

Expert Comment

by:Subsun
ID: 39219575
ConvertTo-SecureString : Cannot process argument because the value of argument "input" is invalid. Change the value of the "input" argument and run the operation again.
Regarding your error..

Ideally your command should work without any error..
read-host -assecurestring | convertfrom-securestring | out-file C:\securestring.txt
$password = cat C:\securestring.txt | ConvertTo-SecureString -Force


The error possibly means your first command failed to create password and save it to the file..
Are you getting any output for command cat C:\securestring.txt?
0
Get your Conversational Ransomware Defense e‑book

This e-book gives you an insight into the ransomware threat and reviews the fundamentals of top-notch ransomware preparedness and recovery. To help you protect yourself and your organization. The initial infection may be inevitable, so the best protection is to be fully prepared.

 

Author Comment

by:revenuecyclepartners
ID: 39227100
Yes cat C:\securestring.txt outputs what looks like encrypted text.

I've also tried creating the password file with he following commands and have had similar errors.

$password = "PASSWORD"
$secure = ConvertTo-SecureString $password -force -asPlainText
$bytes = ConvertFrom-SecureString $secure
$bytes | Out-File secureString.txt
0
 
LVL 40

Expert Comment

by:Subsun
ID: 39227173
I hope you are using the same account to create and read the password..
0
 

Author Comment

by:revenuecyclepartners
ID: 39244750
I tried creating and using the encrypted password file from the same user as well as from different user accounts with no luck.

It doesn't make sense to me that you can only create and use a password file while logged in as that user, what's the point of having the cred file if you can't use it to auto logon for instance when joining the domain. Before I join the domain I'm logged on to the comptuer with a local user account and the domain is going to ask me for domain creds when I send the join domain request.
0

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A project that enables an administrator to perform actions within a user session context not just at the time of login but any time later on day(s) or week(s) later.
I was prompted to write this article after the recent World-Wide Ransomware outbreak. For years now, System Administrators around the world have used the excuse of "Waiting a Bit" before applying Security Patch Updates. This type of reasoning to me …
This tutorial will walk an individual through configuring a drive on a Windows Server 2008 to perform shadow copies in order to quickly recover deleted files and folders. Click on Start and then select Computer to view the available drives on the se…
This Micro Tutorial hows how you can integrate  Mac OSX to a Windows Active Directory Domain. Apple has made it easy to allow users to bind their macs to a windows domain with relative ease. The following video show how to bind OSX Mavericks to …

609 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question