0

このスクリプトは、いくつかの読み取りホスト プロンプトを受け入れ、アプリ プールが関連付けられた Web サイトを作成するのに最適です。最も一般的なパスワードが !$Pass!123!! であることを除いて、パスワード プロンプトは機能します。入力として受け取ることはできません。これらの文字の使用をどのように許可しますか?

Import-Module WebAdministration
# Web サイト変数を取得する
$WebSite = Read-Host -Prompt "Web サイトの DNS 名"
$AppPoolName = Read-Host -Prompt "アプリケーション プール名"
[string]$AppPoolUser = Read-Host -Prompt "アプリケーション プール ユーザー名 ドメインは不要です。例: PXML.Proxy$"
$Password = Read-Host -Prompt "Application Pool Account Password, try ` before $ in password"
$HostHeader = Read-Host -Prompt "ホスト ヘッダー名"
# cmd /c C:\scripts\BaseIIS.cmd $WebServer $AppPool $AppPoolUser $Password $HostName
New-Item -path d:\Websites -itemtype ディレクトリ
New-Item -path d:\Logs -itemtype ディレクトリ
New-Item -path d:\Logs\$WebSite -itemtype ディレクトリ
New-Item -path d:\websites\$WebSite -itemtype ディレクトリ
4

2 に答える 2

4

入力に問題があるのではなく、別のものでdollar sign($)エスケープexclamation mark(!) する必要があります。

パスワードは次のように入力する必要があります: !!$Pass!123!!

これについてもっと知るには、ここを読んでください

コマンドレットを使用しない理由get-credential:

$cred = Get-Credential -Message "Insert Username and Passsword"    
$cred.GetNetworkCredential().UserName
Jacob    
$cred.GetNetworkCredential().Password
!$Pass!123!!

または次を使用できます。

$Password = Read-Host -Prompt "Application Pool Account Password" -assecurestring
[String]$Password = [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($Password))
于 2012-12-08T12:25:27.150 に答える
0

これはV3の問題ではないようです:

PS>$t=Read-Host
!$Pass!123!!
PS>$t
!$Pass!123!!
于 2012-12-08T13:00:18.160 に答える