タグ付けされた質問 「powershell」

Microsoftの対話型シェル、スクリプトおよびプログラミング言語、および周辺環境。Microsoftソフトウェア(Windows、Exchange、SharePoint、クラウドサービスのAzureやOffice 365を含む)を管理するシステム管理者が一般的に使用するPowerShellは、Windowsにデフォルトで含まれており、VBスクリプトなどの以前の言語から引き継がれます。

5
どのバージョンのWindows Management Frameworkがインストールされていますか?
インストールされているWindows Management Framework(WMF)のバージョンを確認するにはどうすればよいですか?見つけるのは簡単なことのように思えますが、私はできません。さまざまなバージョンの質問をグーグルで検索しても、ほとんど何も起こりません。 appwiz.cplにはなく、regeditは「Windows Management Framework」に対応するものを何も見つけません。また、「wmf」には余分なものを見つけすぎます。 妥当な方法でそれをチェックする方法を知りたいだけです。レジストリキーはありますか?チェックできるファイルはありますか?何でも? 私が見つけることができた最も近いものは、serverfaultでここにありました:Windows Management Frameworkのバージョンを検出する方法。その質問は同じことから始まりますが、GPOで使用される特定のチェック方法を求めているようです。おそらくそれが答えを得られなかった理由です。 これを確認したいコンピューターが複数あります。私が始めているのは、Windows Server 2008 R2 Standardです。他のWindows Serverオペレーティングシステムもあります。 私が持っているものよりもうまく機能するタグを知っている場合は、コメントまたはタグを付け直してください。この質問をうまく説明できるものは見つかりませんでした。 更新:一部の人々は、「$PSVersionTable」(および/またはそのさまざまな特性)が答えだと考えているようです。私はついに、これがPowerShell変数であることに最近気づきました(おそらく「PS」接頭辞はそれを与えてくれるはずでしたが、そうではありませんでした)、さらに掘り下げようとしました。これにより、別の質問が生じました。PowerShellの$ PSVersionTableの内容は何を表しているのでしょうか?。 Update2:私が今収集したすべての情報とより良い理解に基づいて、PowerShellの組み込み変数$PSVersionTable.PSVersionが技術的にこれに対する答えではないことはかなり確信していますが、多くの場合(時々?常に?同じように、バージョンのように手をつないで行くかもしれません。$PSVersionTable.WSManStackVersion変数は、それがWS-Managementのスタックを表すものとして、私が欲しいものでもよいが、そのプロパティのショーの公式の簡単な説明があります。WS-ManagementスタックはWMFと同じものですか?グーグルはそれらが密接に関連していることを示唆していますが、その答えがイエスかどうかはわかりません。

3
Active Directoryを削除した後、Windows Server 2012 GUIが失われた
申し訳ありませんが、私はここで直面している問題を理解するのにこだわっています。サーバーマネージャーからAD機能を削除し、再起動後、サーバー2012 GUIがなくなった。対処するコマンドプロンプトがあります。私が見つけたスレッドに基づいてバックGUIを有効にしようとしました。SConfigを実行しましたが、guiを復元するオプションno.12はありません。私はpowershellを実行しようとしましたが、「powershellは内部または外部として認識されません...」と述べました。パスをc:\ windows \ system32 \ windowspowershell \ v1.0に変更し、同じエラーメッセージを見つけるためだけにpowershellを実行してみました。サーバー2012のGUI機能を有効にするにはどうすればよいですか?

8
PowershellスクリプトをWindows以外のワークフローと統合する方法は?
朝の新しいマシンの匂いが大好きです。 インフラストラクチャ全体のいくつかの個別のシステムを含むマシン作成ワークフローを自動化しています。その一部には、Solarisホスト上の15年前のperlスクリプト、LinuxシステムのPXEブート、およびWindows Server 2008上のPowershellが含まれます。 私は個々の部分をそれぞれスクリプト化でき、LinuxとUnixの自動化の統合はかなり簡単ですが、Powershellスクリプトを残りのプロセスに確実に結び付ける方法については迷っています。 プロセスがLinuxホストで開始された場合、Apacheサーバー上で動作するWebアプリケーションとして終了することを想像しますが、Windowsで開始する必要がある場合は、ためらいがありません。 私は、理想的にはの線に沿って何かたいPSEXECのWindowsに対して実行するLinux用の、しかしによると、その方向に表示されますでの回答のCygwin、および多くのように私は、彼らはそれが決している、中に入れていることハードワークのすべてに感謝して、右感じなかっ、お分かりでしょうが。これはデスクトップに最適であり、多くの機能を提供しますが、WindowsサーバーはWindowsサーバーのように扱われるべきであり、粗悪なUnixマシンではないように感じます(偶然にも、OSXサーバーに対する私の議論であり、実際には Unixです) 。とにかく、最後の唯一のオプションでない限り、私はCygwinを使いたくありません。 だから私はLinuxからWindowsマシンでジョブを実行する方法があるかどうかを尋ねていると思います。Cygwinなし。「馬鹿を見て、誰もがCygwinを使用しているので、それを吸い込んで対処してください」などのアイデアや提案を受け入れます。前もって感謝します!

1
PowerShellで標準エラーを変数にリダイレクトする
エラーが見つかった場合に警告するdcdiagテストのスクリプトを作成したいと思います。私はPowerShellでこれを行うことができると思いました... $test = dcdiag 2>$err 現時点ではdcdiagからのエラーはないので、直接テストすることはできませんでしたが、別のPowerShellスクリプトを作成して例外をスローし、そのスクリプトを使用してこのメ​​ソッドをテストできると期待していました。上記の方法ではこれが機能しなかったため、私は以下を選択しました。 try { $test = dcdiag } catch { $err = $_.Exception.Message } 私のテストケースでは機能しましたが、これがdcdiagから標準エラーを検出するかどうかはわかりません。 dcdiagで使用したい場合、PowerShellの変数への標準エラーリダイレクトをどのように達成するのが最善ですか?
16 powershell 

7
Powershell:pwdLastSetにクエリを実行して意味を持たせるにはどうすればよいですか?
Active Directoryセキュリティグループ内のアカウントグループの最後のパスワード変更を取得する必要がありますが、これはPowerShellが得意なものだと思います。 今、私が見ているADアカウントからpwdLastSet属性を読み取る方法に既に固執しています。次のような単純なものでも実行できます。 [adsi] "LDAP://cn=user1,ou=Staff,ou=User Accounts,dc=ramalamadingdong,dc=net" | Format-List * pwdLastSetの結果は次のように表示されます。 pwdLastSet : {System.__ComObject} 私はこれについて間違った方法で行っているように感じますので、pwdLastSet属性の出力(値はWindows Epochに基づいており、非常に人間が読めるものではありません)を照会してからフォーマットする最良の方法は何ですか?

13
システム管理用のお気に入りのPowershellコマンドまたはスクリプトは何ですか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は、事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は、議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、おそらく再開できると思われる場合は、ヘルプセンターをご覧ください。 7年前に閉鎖されました。 ロックされています。この質問とその回答はロックされています。なぜなら、質問はトピックから外れていますが、歴史的に重要だからです。現在、新しい回答やインタラクションを受け入れていません。 Powershellの一番のコマンドは何ですか?リストを作成して、最高のものに投票しましょう!
16 powershell 

3
以前のセッションからPowershellコマンド履歴を検索する方法
現在のWindows 10とPowershell 5.1を使用しています。多くの場合、過去に使用したコマンドを調べて、変更したり再実行したりします。必然的に、私が探しているコマンドは、以前または異なるPowerShellウィンドウ/セッションで実行されました。 ↑キーをハンマーで打つと、多数のセッションから多数のコマンドを参照できますが、を使用してそれらを検索しようとするとGet-History | Where-Object {$_.CommandLine -Like "*docker cp*"}、結果が得られません。基本的なトラブルシューティングでは、次のGet-Historyように、前のセッションから何も表示されていないことがわかります。 C:\Users\Me> Get-History Id CommandLine -- ----------- 1 Get-History | Where-Object {$_.CommandLine -Like "*docker cp*"} ↑キーが提供する以前のコマンドGet-Historyまたは別のコマンドレットをどのように検索できますか?

3
保存されたps1ファイルを使用してリモートPowerShellセッションを起動する
PowerShellセッションを起動するためにローカルデスクトップに保存できるファイルをいくつか作成しようとしています。 Windows Server 2008とWindows Server 2012は、どちらもServer Coreインストールです。 現在、Powershellを開いて次のように入力できます。 Enter-PSSession -computername Win2012SrvCore -credential administrator これを使用して、コマンドを接続して実行でき、すべてが素晴らしいです。 私がやろうとしたことは: Win2012SrvCore1.ps1以下で呼び出されるファイルを作成します。 $passwd = convertto-securestring -AsPlainText -Force -String MYPASSWORD $cred = new-object -typename System.Management.Automation.PSCredential -argumentlist "administrator",$passwd $session = new-pssession -computername Win2012SrvCore -credential $cred Win2012SrvCore2.ps1以下で呼び出されるファイルを作成します。 PowerShell.exe -Command Enter-PSSession -computername Win2012SrvCore -credential administrator 各ps1ファイルが起動し、すぐに閉じて、読み込めない赤いテキストが表示されます。 PAUSE各スクリプトに追加しようとしましたが、ウィンドウが閉じるのを止めるようには見えません。 保存したRDPセッションと同様に、ダブルクリックしてPowerShellプロンプトを開くことができるスクリプトを作成します。 ps1ファイルを実行するように構成しました。 C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe …

1
Server 2012 CoreのPowershellでファイルを解凍します
powershellでファイルを解凍する必要があります。誰もがこれを行う典型的な方法は、スクリプトでシェルを自動化することです。 $shellApplication = new-object -com shell.application $zipPackage = $shellApplication.NameSpace($zipfilename) $destinationFolder = $shellApplication.NameSpace($destination) $destinationFolder.CopyHere($zipPackage.Items()) Server Coreにはシェルがないため、これは機能しません。したがって、自動化するものはありません。これにより、E_FAIL COMエラーが発生します。 Powershellは単独でそれを行うことはできないようです。サードパーティに行く場合は、そもそもサーバーにユーティリティを取得するスクリプトを作成する方法を見つけ出す必要があります。7-Zipは私の頼みの綱でしたが、ダウンロードとインストールをスクリプト化できるとは思えません。Sourceforgeは私にHTMLファイルを送り返し続けます。 Server 2012 Coreでzipファイルを完全に解凍するスクリプトを作成するにはどうすればよいですか?


1
PowerShellでMacTripleDesアルゴリズムの出力が安定しないのはなぜですか?
私はPowerShellのいくつかの異なるアルゴリズムを使用してファイルハッシュをチェックしています。MacTripleDesを使用すると、常に異なるハッシュが得られます。SHA256やMD5などの他のすべては、常に信頼できる答えを提供します。自分のコンピューターで問題を再現できる場合があります。 "this is a test" | out-file test.txt get-filehash test.txt -algorithm sha256 get-filehash test.txt -algorithm sha256 get-filehash test.txt -algorithm mactripledes get-filehash test.txt -algorithm mactripledes 最初の2つのハッシュでは同じハッシュ値を取得しますが、2番目の2つのハッシュでは異なる値を取得します。MacTripleDesの使用方法は違うのですか? Algorithm Hash Path --------- ---- ---- SHA256 3F8CB2CDF03347329CAB0C80A6CE3B01EF3B17AF02E0F6E101FA67CE63729F51 C:\temp\test.txt SHA256 3F8CB2CDF03347329CAB0C80A6CE3B01EF3B17AF02E0F6E101FA67CE63729F51 C:\temp\test.txt MACTRIPLEDES 904D74A529C7A739 C:\temp\test.txt MACTRIPLEDES AF720778A2C878A2 C:\temp\test.txt
14 powershell  hash 

1
PowerShell Web AccessでdefaultAuthenticationTypeを使用する
PowerShell Webアクセスでは、認証タイプを選択できます。デフォルトでは、値使用Defaultされて終わります、Negotiate。CredSSPを使用してPSWAサーバー自体にログインできるようにCredSSPを設定し、セッション内からネットワーク認証が機能するようにしました(ネットワーク全体で資格情報を委任することなく、二重ホップの問題を回避します)。 とにかく、CredSSPをサインインページの既定のオプションにする必要があります。 IISのPSWA Webアプリの構成オプションを見ると、デフォルトをオーバーライドするために設定できる値がいくつかあります。 それらの1つが呼び出さdefaultAuthenticationTypeれますが、stringはに設定されてい0ます。 これは適切な設定のように思えますが、動作させることはできません。 サインインWebページを調べると、選択ボックスに次の値があることがわかります。 0 Default 1 Basic 2 Negotiate 4 CredSSP 5 Digest 6 Kerberos 3 不足している。 JosefZ 3は、NegotiateWithImplicitCredentialこれがこのページに準拠していることを発見しましたが、Windows PowerShell 5.1.15063.966では、名前/値が列挙型にありません。 defaultAuthenticationType数値を設定すると、Webページはデフォルトで新しいオプションになります。 7 Admin Specified 私が試してみました3し、4どちらも1で作品。ログインはKerberosを使用して行われ、CredSSPは使用されません。 CredSSPを手動で選択すると、期待どおりに機能します。 のdefaultAuthentcationTypeような文字列に設定した場合CredSSP、Admin Specifiedオプションは表示されず、デフォルトにDefault戻り、Kerberos認証が使用されます。 誰かがこれを正常に設定できましたか?Webの結果は非常に不足しています。

2
PowershellはBashのプロセス置換に相当します
Bashに<(..)はプロセス置換があります。Powershellと同等のものは何ですか? があることは知って$(...)いますが、文字列を<(..)返しますが、外側のコマンドが読み取ることができるファイルを返します。 また、パイプベースのソリューションも探していませんが、コマンドラインの途中に貼り付けることができます。
14 powershell 

4
管理者としてリモートPowerShellを実行する
質問に飛び込む前に、私の質問に似ていると思われるいくつかの他の質問を見つけましたが、それらは私の問題を解決することができませんでした。それらへのリンクは次のとおりです。 「管理者として実行」を呼び出すスクリプトをリモートで実行します /programming/10724591/how-to-remote-execute-an-elevated-remote-script-in-powershell 次に質問に答えます。Powershellを介してリモートマシンでWindows Updateスクリプトを実行する必要があります。mstsc経由でマシンにリモート接続し、管理者としてPowershellを実行し、Windows Updateスクリプトを実行すると、正常に動作します。mstsc経由でマシンにリモート接続し、管理者として実行を選択せず​​にPowershellを実行し、スクリプトを実行すると、次の行に沿って多数のエラーが表示されます。 HRESULTからの例外:0x80240044 "" これは、管理者権限なしで実行した場合にのみ発生します。 私が実行しているスクリプトは次のとおりです。http://www.ehow.com/how_8724332_use-powershell-run-windows-updates.html 今、Enter-PSSessionを使用してマシンにリモート接続し、スクリプトを実行しようとすると、エラーが発生しますが、それらは少し異なります。彼らはこの行に沿っています:「0」引数で「CreateUpdateDownloader」を呼び出す例外:「アクセスが拒否されました。(HRESULTからの例外:0x80070005(E_ACCESSDENIED)) "" この問題を引き起こしている可能性があるものについては提案を受け入れていますが、私はそれを理解していると思います。Powershellセッションは昇格した特権で実行する必要があると思います。私はmstsc経由でリモーティング中にこれを行う方法を知っていますが、Enter-PSSession経由でこれを行う方法を見つけることができませんでした。GoogledとGoogledを使用しましたが、何も見つかりませんでした。誰かがこれに何らかの光を当てるのを手伝うことができれば、それは大歓迎です。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.