2014-08-28 126 views
0

-Question 1-PowerShell的彩色输出

脚本:

$ADInfo = (Get-ADUser $ntaccount1 -Properties *) 

Write-Host -NoNewLine -ForegroundColor Gray "Enabled    "; 
Write-Host -NoNewLine ": "; 
if ($ADInfo.Enabled -eq "False") {'Write-Host -ForegroundColor Gray $ADInfo.Enabled'} ELSE {'Write-Host -ForegroundColor Red $ADinfo.Enabled'}; #If False=gray if True=red 

输出:

Enabled: False 

我努力做到最好的,所以如果$ ADInfo.Enabled等于假,是一种颜色。如果它是真的,那么另一个。我在解决问题时遇到了问题。

-Question 2-

我试图获得相同的格式问题1这个脚本,但是,我没有得到相同的输出。以下粘贴的作品100%。它从AD结果到期日期。如果我试图把它变成问题1,我会得到一些随机的日期12/31/1600 7:00:00 PM。我希望它与问题1相同,其结果是可以使输出日期为我选择的任何颜色。

Get-ADUser -identity usernamehere -properties msDS-UserPasswordExpiryTimeComputed | format-list @{ Name = "Expiration Date";Expression={[datetime]::FromFileTime($_."msDS-UserPasswordExpiryTimeComputed")}}; 

回答

1

这个怎么样?

$ADInfo = (Get-ADUser jdoe -Properties *) 

Write-Host "Full Name     : " $ADinfo.Name 
Write-Host "User ID     : " $ADinfo.SamAccountName 
Write-Host "Email      : " $ADinfo.mail 
Write-Host "Enabled     : " $ADInfo.Enabled 
Write-Host "Locked Out    : " -NoNewline; if ($ADInfo) {Write-Host -ForegroundColor Green $ADInfo.LockedOut} ELSE {Write-Host -ForegroundColor Red $ADinfo.LockedOut} 
Write-Host "Expiration Date   : " -NoNewline; Write-Host ([datetime]::FromFileTime($ADInfo."msDS-UserPasswordExpiryTimeComputed")) 
Write-Host "Password Last Set   : " $ADinfo.PasswordLastSet 
Write-Host "Last Bad Password Attempt : " $ADinfo.LastBadPasswordAttempt 
Write-Host "Account Creation Date  : " $ADinfo.whenCreated 
Write-Host "Last change    : " $ADinfo.whenChanged 
Write-Host "Employee ID    : " $ADinfo.EmployeeID 
Write-Host "Account Description  : " $ADinfo.Description 
+0

嘿,我编辑了我的OP。 if语句不起作用(每次都将颜色更改为绿色),并且代码的“过期日期”位给出12/30/1600 7:00:00 PM的通用日期。我在OP中的这一行可以正常工作,但是你放它的方式不行。 – Aaron 2014-08-29 04:43:22